如何把servlet里的变量传递给一个jsp页面呢? 先放入session,再在jsp页面中到session里面去取 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者利用查询字符串kkkk.jsp?accountNumber=XXXXXservlet:response.sendRedirect("kkkk.jsp?accountNumber=XXXXX");jsp:String accountNumber =request.getParameter("accountNumber"); 如果是登录验证信息的话就只好放session里了,如果是一般信息可以根据作用域范围考虑放request里。在servlet里面 session.setAttribute(),在页面上session.getAttribute()。 response.sendDirect("http://..servlets/abcServlet/abc/jsp?abc="+accountNumber;); 你可以将这个值放到pagecontext.request,session中,这些jsp页面全可以取到 ServletContext sc = getServletContext();String url = "jsp url";RequestDispatcher rd = sc.getRequestDispatcher(url);rd.forward(request, response);在doPost里转发请求 很多方法,DOPOST,DOGET,SESSION等等~看你自己决定 wingtrace(暮寒.烟灰.风化物) 答得好!! 最好不要redirect,redirect后session的内容全部消失。 servlet:response.sendRedirect("kkkk.jsp?accountNumber=XXXXX");jsp:String accountNumber =request.getParameter("accountNumber");或者你用 对象 分发技术 用 RequestDispatcher的 forward() or include() 都行....... 可能是我们没说清楚,现在把代码贴出来,大家帮忙看看:Balance.jsp:<HEAD><TITLE>Your Balance</TITLE><BODY><jsp:useBean id="regularCustomer" class="MVCBankAccount.BankCustomer" scope="request"/> <TABLE BORDER=5 ALIGN="CENTER"> <TR><TH CLASS="TITLE"> Your Balance</TABLE><P><table width="400" border="1"ALIGN="CENTER"> <tr> <th><div align="left">Account Name</div></th> <td><jsp:getProperty name="regularCustomer" property="name"/></td> </tr> <tr> <th><div align="left">Account Number</div></th> <td><jsp:getProperty name="regularCustomer" property="accountNumber"/></td> </tr> <tr> <th><div align="left">My Balance</div></th> <td>$<jsp:getProperty name="regularCustomer" property="totalBalance"/></td> </tr></table><br><br> <table ALIGN="CENTER"> <tr> <form align="center" name="viewdetailForm" action="/servlet/MVCBankAccount/ShowBalance.java" method="post"> <td ALIGN="CENTER"><input name="action" type="hidden" value="<%=regularCustomer.getAccountNumber()%>"></td> <td ALIGN="CENTER"><input name="viewregulardetail" type="submit" value="View Detail"></td> </form> </tr></table--></BODY></HTML>ShowBalance.java:package MVCBankAccount;import java.lang.*;import javax.servlet.*;import javax.servlet.http.*;public class ShowBalance extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=GBK"; //Clean up resources public void destroy() { } //Process the HTTP Get request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { try { processRequest(request, response); } catch (ClassNotFoundException classfinding){ System.out.println("classfinding="+classfinding); } } //Initialize global variables public void init() throws ServletException { } protected void processRequest(HttpServletRequest request,HttpServletResponse response) throws ServletException, java.io.IOException, ClassNotFoundException { String address = ""; String action = "", accountNumberTemp = ""; action = request.getParameter("action"); BankCustomer customer = new BankCustomer(); customer.getCustomer(request.getParameter("id"), request.getParameter("password")); if (action.equals("INDEX")) { if (customer == null) { address = "/MVCBankAccount/UnknownCustomer.jsp"; } else { address = "/MVCBankAccount/NormalBalance.jsp"; request.setAttribute("regularCustomer", customer); } } RequestDispatcher dispatcher = request.getRequestDispatcher(address); dispatcher.forward(request, response); }}我现在要把Balance.jsp里的AccountNumber通过regularCustomer.getAccountNumber()提交到ShowBalance.java里,然后再把这个AccountNumber得知传递到另外一个ShowDetail.jsp的页面里。问题是不知道如何在ShowBalance.java里修改代码,以及在ShowDetail.jsp接收它。多谢各位高手帮忙啊! 用RequestDispatcher类。在JSP中写:request.setAttribute(变量名,变量值);RequestDispatcher rd = request.getRequestDispatcher(jspURL);rd.forward(request,response);在JSP中调用request.getAttribute(变量名); Thanks a lot. I have solve this problem successfully. Any way, I will give to every pepole. tomcat的shared lib 订单确认信 一个简单的text文本问题? servlet的菜鸟问题 请教大家如何弹出一个新JSP页面,并设定其的大小? 再问:怎么把document类型的数据转换成String类型? 高分求救~!关于mozilla的返回问题~!只要解决,500分送~! 帮忙看看,jsp的 关于selevlet的问题 ssm框架中在页面上修改完数据后数据库数据没有被修改 jsp(/java/servlet)实现上传? JSP小问题
response.sendRedirect("kkkk.jsp?accountNumber=XXXXX");jsp:
String accountNumber =request.getParameter("accountNumber");
String url = "jsp url";
RequestDispatcher rd = sc.getRequestDispatcher(url);
rd.forward(request, response);在doPost里转发请求
response.sendRedirect("kkkk.jsp?accountNumber=XXXXX");jsp:
String accountNumber =request.getParameter("accountNumber");或者你用 对象 分发技术 用 RequestDispatcher的 forward() or include() 都行.......
Balance.jsp:<HEAD>
<TITLE>Your Balance</TITLE>
<BODY><jsp:useBean id="regularCustomer"
class="MVCBankAccount.BankCustomer"
scope="request"/>
<TABLE BORDER=5 ALIGN="CENTER">
<TR><TH CLASS="TITLE">
Your Balance</TABLE><P><table width="400" border="1"ALIGN="CENTER">
<tr>
<th><div align="left">Account Name</div></th>
<td><jsp:getProperty name="regularCustomer" property="name"/></td>
</tr>
<tr>
<th><div align="left">Account Number</div></th>
<td><jsp:getProperty name="regularCustomer" property="accountNumber"/></td>
</tr>
<tr>
<th><div align="left">My Balance</div></th>
<td>$<jsp:getProperty name="regularCustomer" property="totalBalance"/></td>
</tr>
</table><br><br> <table ALIGN="CENTER">
<tr>
<form align="center" name="viewdetailForm" action="/servlet/MVCBankAccount/ShowBalance.java" method="post">
<td ALIGN="CENTER"><input name="action" type="hidden" value="<%=regularCustomer.getAccountNumber()%>"></td>
<td ALIGN="CENTER"><input name="viewregulardetail" type="submit" value="View Detail"></td>
</form>
</tr>
</table--></BODY>
</HTML>
ShowBalance.java:package MVCBankAccount;import java.lang.*;
import javax.servlet.*;
import javax.servlet.http.*;public class ShowBalance extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GBK";
//Clean up resources
public void destroy() {
}
//Process the HTTP Get request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException {
try {
processRequest(request, response);
} catch (ClassNotFoundException classfinding){
System.out.println("classfinding="+classfinding);
}
}
//Initialize global variables
public void init() throws ServletException {
}
protected void processRequest(HttpServletRequest request,HttpServletResponse response)
throws ServletException, java.io.IOException, ClassNotFoundException {
String address = "";
String action = "", accountNumberTemp = "";
action = request.getParameter("action");
BankCustomer customer = new BankCustomer();
customer.getCustomer(request.getParameter("id"), request.getParameter("password"));
if (action.equals("INDEX")) {
if (customer == null) {
address = "/MVCBankAccount/UnknownCustomer.jsp";
} else {
address = "/MVCBankAccount/NormalBalance.jsp";
request.setAttribute("regularCustomer", customer);
}
}
RequestDispatcher dispatcher = request.getRequestDispatcher(address);
dispatcher.forward(request, response);
}
}我现在要把Balance.jsp里的AccountNumber通过regularCustomer.getAccountNumber()提交到ShowBalance.java里,然后再把这个AccountNumber得知传递到另外一个ShowDetail.jsp的页面里。问题是不知道如何在ShowBalance.java里修改代码,以及在ShowDetail.jsp接收它。多谢各位高手帮忙啊!
用RequestDispatcher类。
在JSP中写:
request.setAttribute(变量名,变量值);
RequestDispatcher rd = request.getRequestDispatcher(jspURL);
rd.forward(request,response);在JSP中调用request.getAttribute(变量名);