在使用struts的过程中,发现通过request.setAttribute()所传的值怎么都传不进所对应的jsp页面,而且也不报错!
对应代码:
<table border="0">
<tr>
<td width="100%">
<select name="attachlist" size="4" style="width:320">
<logic:iterate name="AttachList" property="list" id="list" scope="request" >
<option value="<bean:write name="list" property="param1"/>">
<bean:write name="list" property="param0"/>
</option>
</logic:iterate>
</select>
</td>
</tr>
</table>
仔细检查发现,在jsp页面中有unknow tag以及undifined name等的警告,原来缺了配置
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
加上,ok,可以传值,不过还是抛错Cannot find bean XXX in any scope。。。
原来是因为初始的AttachList值为空的缘故,也是自己失误漏掉了部分代码。
修改代码: <table border="0">
<tr>
<td width="100%">
<select name="attachlist" size="4" style="width:320">
<logic:present name="AttachList">
<logic:iterate name="AttachList" property="list" id="list" scope="request" >
<option value="<bean:write name="list" property="param1"/>">
<bean:write name="list" property="param0"/>
</option>
</logic:iterate>
</logic:present>
</select>
</td>
</tr>
</table>
ok,问题解决
问题很小,却很容易被忽视,引以为戒!