编辑,仍然这是不准确的工作,但我需要设置一个网站的每个页面的page_type。该page_type需要通过一些java进行检查,并基于page_type编写代码。问题是,if else语句没有正确执行。没有发生任何事情,因为参数似乎没有被放置。设置page_type的主页:
<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>检查代码的位置
<% 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%>"/>
<%}%>发布于 2013-09-04 00:52:15
您使用type变量从请求参数中获取值,但在if条件下您使用的是Page_type
像这样的包含了
<div id="DYK_area">
<jsp:include page="/imgs/random_dyk.jsp" flush="true">
<jsp:param name="Page_type" value="prenatalOverviewArea" />
</jsp:include>
</div> 包含的JSP上的
<%
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%>"/>发布于 2013-09-04 00:53:38
我不确定/imgs/random_dyk.jsp中的代码是否正确。您可以使用变量Page_type,尽管它并不存在。
您应该在前面的request.getParameter("Page_type");行中初始化它,如下所示:
<%! String xxx = request.getParameter("Page_type"); %>然后,
<% if(xxx.equals("prenatalOverviewArea")){
...发布于 2013-09-04 03:23:41
这就是有效的方法,无论如何,谢谢你们,至少你们让我更接近了!
<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%>"/>
<%}%>https://stackoverflow.com/questions/18597395
复制相似问题