[英]jsp request.getParameter
編輯,這仍然不能正常工作,但我需要在網站的每個頁面上設置一個 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%>"/>
<%}%>
您正在使用type
變量從請求參數中獲取值,但在if
條件下您使用的是Page_type
像這樣包含 JSP
<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%>"/>
我不確定 /imgs/random_dyk.jsp 中的代碼是否正確。 您使用變量 Page_type 盡管它不存在。
您應該在request.getParameter("Page_type");
行之前對其進行初始化request.getParameter("Page_type");
像這樣:
<%! String xxx = request.getParameter("Page_type"); %>
然后 ,
<% if(xxx.equals("prenatalOverviewArea")){
...
這就是有效的方法,無論如何,謝謝你們,你們至少讓我更接近了!
<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%>"/>
<%}%>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.