1

当我们使用 request.setAttribute 和 request.getAttribute 时,我已经阅读了这个论坛本身

它的值只保留到加载 jsp 页面。所以他们建议使用隐藏形式,当我使用该隐藏形式时 - 我似乎无法正确处理。它说不允许 void 值,我确保通过 .setAttribute 存储的所有值都有一些初始化值。

这是显示错误的代码

     **org.apache.jasper.JasperException: Unable to compile class for JSP: 

     An error occurred at line: 83 in the jsp file: /season1.jsp
     The method print(boolean) in the type JspWriter is not applicable for the arguments (void)
     80:   <!-- end .content --></div>
     81:   </form>
     82:   <%i=1;%>
     83:   <input type="hidden" name="epnostorage" value="<%= request.setAttribute("epno", epno) %>" />
     84:   <input type="hidden" name="casestorage" value="<%= request.setAttribute("case", i) %>" />
     85:   <%
     86:   }


     An error occurred at line: 84 in the jsp file: /season1.jsp
     The method print(boolean) in the type JspWriter is not applicable for the arguments (void)
     81:   </form>
     82:   <%i=1;%>
     83:   <input type="hidden" name="epnostorage" value="<%= request.setAttribute("epno", epno) %>" />
     84:   <input type="hidden" name="casestorage" value="<%= request.setAttribute("case", i) %>" />
     85:   <%
     86:   }
     87: else if(i==1)


     **
4

3 回答 3

1

session 是存储价值的一种方式

session.setAttribute("name",value);
于 2013-06-22T05:11:15.440 回答
0
<input type="hidden" name="epnostorage" value="<%= request.setAttribute("epno", epno) %>" />
<input type="hidden" name="casestorage" value="<%= request.setAttribute("case", i) %>" />

你在这里所做的是错误的。如果您需要在隐藏元素中设置一些值,则不需要在元素内设置为 request.setAtrribute() 。你可以设置为

<%
  int someInteger = 0;
  String someString = "stringValue";
%>
<input type="hidden" name="someInteger" value="<%=someInteger%>" />
<input type="hidden" name="someString" value="<%= someString%>" />

之后,您可以从操作提交为的隐藏元素中获取值

int someInteger = Integer.parseInt(request.getParameter("someInteger"));
String someString = request.getParameter("someString");
于 2013-06-23T07:11:52.527 回答
0

该方法ServletRequest.setAttribute(String, Object)是(不返回任何内容),因此您正在使用的标签void中没有嵌入任何价值。<%= ... %>我想你想要getAttribute,或者更简洁的${varname}语法。

于 2013-06-22T05:07:50.477 回答