发布人:小菜鸟
关于
1.若明确参数名和参数值则直接在URI后输出,
如:
2.对于参数值不确定的,paramName和paramProperty来输出,用paramId属性指定参数名。
对于paramName指定的对象应该存在于page、request、session、application其中之一。一般来说,是从Action类传过来的,作为request的属性之一(requst.setAttribute("name",object))。
如果paramName指定的对象是action的ActionForm,则无需使用request.setAttribute方法。
例:
若参数值是一个bean对象的属性值(比如ActionForm,或者集合中存放的对象)则:
3.若两个参数,一个确定一个不确定,则是以上两种方法的结合,即:
4.对于多个参数的问题,可以使用一个HashMap集合对象来存放所有的参数名及对应的参数值的方式,paramName属性值指定为该HashMap集合对象即可。
举例:
//代码理想的位置应该是在action中
//可以在jsp页面测试
java.util.HashMap pms = new java.util.HashMap();
pms.put("code", "001002");
pms.put("name", "tester");
pms.put("alias", new String[]{"matin","jack"});
request.setAttribute("params", pms);
%>
编译后的结果:test
这种方式虽然可以解决传多参数的问题,但是实现起来也比较麻烦,特别是对记录集中的数据逐条列出的时候
5.针对有的网友在
虽然在struts标签中嵌入jsp脚本不是真正意义上的struts应用,但是有时在委曲求全的情况下也只能如此了,除非使用自定义标签。比如在form表单中可能需要根据具体数据让某个字段是只读的,就可以用嵌入jsp脚本来实现:
boolean rdonly=false;
if(2==2) rdonly=true;
%>
(题外话,呵呵)
6.另外一种比较变态的方法,既不是真正意义上的struts,也不符合xml规范。那就是在标签中用标签输出参数值。
如:&name=">test
(偶经常这样用,哈哈,简单!)
先说这么多吧,有更好的方法再来补充!
posted on 2005-10-24 14:24 JAVA牛棚 阅读(1072) 评论(0) 编辑 收藏 所属分类: 基础知识区
本文详细介绍了在Struts框架中如何处理参数传递。包括直接在URI后输出确定参数、使用paramName和paramProperty输出不确定参数、结合两种方式处理部分确定参数、使用HashMap处理多个参数以及在JSP中嵌入脚本实现特定逻辑。还提到了虽然在标签内嵌入JSP不是最佳实践,但有时是必要的,并给出了一个使用HashMap存储多个参数的示例。
1196

被折叠的 条评论
为什么被折叠?



