首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jsp request.getParameter

jsp request.getParameter
EN

Stack Overflow用户
提问于 2013-09-04 00:40:33
回答 3查看 7.3K关注 0票数 0

编辑,仍然这是不准确的工作,但我需要设置一个网站的每个页面的page_type。该page_type需要通过一些java进行检查,并基于page_type编写代码。问题是,if else语句没有正确执行。没有发生任何事情,因为参数似乎没有被放置。设置page_type的主页:

代码语言:javascript
复制
<div id="DYK_area">
 <jsp:include page="/imgs/random_dyk.jsp" flush="true">
 <jsp:param name="Page_type" value="prenatalOverviewArea"></jsp:param>
 </jsp:include>
</div>

检查代码的位置

代码语言:javascript
复制
<% String pageType = request.getParameter("page_type")==null?"": request.getParameter("page_type"); 
String image_name="";   
    if(pageType.equals("prenatalOverviewArea")){
        int random = (int )(Math.random() * 10 + 1);
        image_name= "/images/did_you_know/dyk_p_" + random + ".png";
    }
    else if(pageType.equals("prenatalNorm")){
        int random = (int )(Math.random() * 25 + 1);
        image_name= "/images/did_you_know/dyk_p_" + random + ".png";
    }
    else if(pageType.equals("overviewArea")){
        int random = (int )(Math.random() * 20 + 1);
        image_name= "/images/did_you_know/dyk_" + random + ".png";
    }
    else if(pageType.equals("overviewNorm")){
        int random = (int )(Math.random() * 45 + 1);
        image_name= "/images/did_you_know/dyk_" + random + ".png";
    }

if(!image_name.equals("")){
%>

<img id="dyk_random" src="<%=image_name%>"/>

<%}%>
EN

回答 3

Stack Overflow用户

发布于 2013-09-04 00:52:15

您使用type变量从请求参数中获取值,但在if条件下您使用的是Page_type

像这样的包含了

代码语言:javascript
复制
<div id="DYK_area">
   <jsp:include page="/imgs/random_dyk.jsp" flush="true">
     <jsp:param name="Page_type" value="prenatalOverviewArea" />
   </jsp:include>
</div> 

包含的JSP上的

代码语言:javascript
复制
<%
    System.out.println("Page type is : "+request.getParameter("Page_type"));
    String Page_type = request.getParameter("Page_type");
    if(Page_type.equalsIgnoreCase("prenatalOverviewArea")){
        int random = (int )(Math.random() * 10 + 1);
        image_name= "/images/did_you_know/dyk_" + random + ".png";
    }

    else if(Page_type.equalsIgnoreCase("prenatalNorm")){
        int random = (int )(Math.random() * 25 + 1);
        image_name= "/images/did_you_know/dyk_p_" + random + ".png";
    }
%><img id="dyk_random" src="<%=image_name%>"/>
票数 0
EN

Stack Overflow用户

发布于 2013-09-04 00:53:38

我不确定/imgs/random_dyk.jsp中的代码是否正确。您可以使用变量Page_type,尽管它并不存在。

您应该在前面的request.getParameter("Page_type");行中初始化它,如下所示:

代码语言:javascript
复制
<%! String xxx = request.getParameter("Page_type"); %>

然后,

代码语言:javascript
复制
<% if(xxx.equals("prenatalOverviewArea")){
...
票数 0
EN

Stack Overflow用户

发布于 2013-09-04 03:23:41

这就是有效的方法,无论如何,谢谢你们,至少你们让我更接近了!

代码语言:javascript
复制
<div id="DYK_area">
 <jsp:include page="/imgs/random_dyk.jsp" flush="true">
 <jsp:param name="page_type" value="prenatalOverviewArea"></jsp:param>
 </jsp:include>
</div>

<%@ page contentType="text/html; charset=UTF-8" language="java"  errorPage="" %>

<% String pageType = request.getParameter("page_type")==null?"": request.getParameter("page_type"); 
String image_name="";   
    if(pageType.equals("prenatalOverviewArea")){
        int random = (int )(Math.random() * 10 + 1);
        image_name= "/images/did_you_know/dyk_p_" + random + ".png";
    }
    else if(pageType.equals("prenatalNorm")){
        int random = (int )(Math.random() * 25 + 1);
        image_name= "/images/did_you_know/dyk_p_" + random + ".png";
    }
    else if(pageType.equals("overviewArea")){
        int random = (int )(Math.random() * 20 + 1);
        image_name= "/images/did_you_know/dyk_" + random + ".png";
    }
    else if(pageType.equals("overviewNorm")){
        int random = (int )(Math.random() * 45 + 1);
        image_name= "/images/did_you_know/dyk_" + random + ".png";
    }

if(!image_name.equals("")){
%>

<img id="dyk_random" src="<%=image_name%>"/>

<%}%>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18597395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档