jsp中用request传递,在action中却接受不到

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:52:32
我在RateList.jsp中有这样一段代码
<html:form act=eproducerateComeIn>
<%
String eff_year=(String)request.getAttribute("eff_year");
System.out.println("eff_year页面:::::::"+eff_year);有结果,假设2
request.setAttribute("eff_year", eff_year);
%>
<td width=35% align=left><html:text property="SHORTNAME" />
<input type="submit" value="查 询">
</html:form>
<SCRIPT LANGUAGE="JavaScript">
mygrid.loadXML("<%=request.getContextPath()%>/eproducerate.do?act=query");
</SCRIPT>
但是在action中
if(actionFlag.equals("query")){
String eff_year=(String)request.getAttribute("eff_year");
eff_year却为null,这是怎么回事
}
领导说了,不能用session,否则系统会崩溃,因为系统会崩溃(这点很重要) 我之前用的session被要求改过来

你这个参数没放在页面上
也就是说
你request.getAttribute过来之后
没有赋值给页面中的FormBean属性中
而你是又request.setAttribute了一下
而请求只是把页面提交过来的属性接过来
你request.setAttribute的东西是接不到的
所以需要有一个赋值的过程
像1楼写
<input type="hidden" name="eff_year" value="<%=eff_year%>" />
肯定没有问题了。

放在页面隐藏字段
<input type="hidden" name="eff_year" value="<%=eff_year%>" />

request表示请求内有效,是不是考虑用有效时间长一点的session或是application