我可以得到一些表达语言的工作,但不是全部。例如,这就是我的路线。启动home.jsp (单击链接将您带到q4.jsp)。选择一个单选按钮,然后单击另一个链接。带你去q1.jsp。选择单选按钮,在文本框中输入文本,然后单击其他链接并在results.jsp上完成。
我的问题是:
我是result.jsp
Good day **Rich**, for question 1 you chose and for question 2 you chose **Integer**
Total score:富不是硬编码的,results.jsp实际上是"Good day ${param.elc}“。这个很管用。整数不是硬编码的,results.jsp实际上是这样读的:“对于问题2,您选择了${param.radios1}”。这行得通
不起作用的是如果jsp页面不在变量所在位置之前。the直接引入results.jsp,因此产生工作变量。如上所述,在选择之后没有变量,即使jsp读取问题1,您选择了${param.radios4}。
为什么jsps只能从之前的页面中读取?我希望q4.jsp将一个变量存储到end页面。
发布于 2014-11-11 09:34:48
您必须使用会话进行用户和web应用程序之间的对话。因为默认情况下,您的参数在响应第一个请求时会被存储为请求属性。
具有会话作用域的对象可以从处理与创建请求所在会话相同的请求的页中访问。会话是用户使用应用程序的时间,当用户关闭浏览器、转到另一个网站或应用程序设计器需要时(例如,在注销之后),会话就会结束。因此,例如,当用户登录时,他们的用户名可以存储在会话中,并显示在他们访问的每个页面上。这些数据一直持续到它们离开网站或注销为止。
例如:
<jsp:useBean id="employee" class="EmployeeBean" scope="session" /> 或者,可以使用HttpSession接口的引用将请求参数保存在会话属性中。
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response){
try{
String n=request.getParameter("userName");
HttpSession session=request.getSession();
session.setAttribute("uname",n);
//code
}catch(Exception e){System.out.println(e);}
}
} https://stackoverflow.com/questions/26861270
复制相似问题