最后终于在整理思路的时候解决了。在JSP页面与ACTION之间的桥梁对于程序员来说就是set get方法以及valueStack,既然对方始终获取不了值,那么要么是valueStack有问题(这个框架的东东应该不会错),那就是set get 方法的问题。最后找到使用自动生成set get方法的权限由问题。private 将其更改为public 搞定!!!还是谢谢各位热心帮忙!
看到你这种方式,我想你应该是在用 Struts2 吧, Struts2 是用的 WebWork 的核心,它的参数全部由 内部拦截器代理 接收及发送, 如果你想在页面接收这一个List 。 步骤: 在 Action 里面设这个变量: List<String> list = new ArrayList<String>(); 下面Get , Set ,一定要有,供拦截器调用。 然后你只需要在页面 使用 Struts2 的迭带器标签, <s:iterator value="list"><s:property></s:property></s:iterator> // 假设你的是字符 串 当然楼上说的 jsp 表达式也是可以的,${list} ,如果你是一个用户实体,实体里面有一个名字 ${list.name} // 这样输出即可。 这样输出即可。 最后: 希望可以帮到你,如果有疑问可以 Hi 我
********************************
综上如下:
action与jsp页面的数据传递需要两步:
1,将action中数据整理打包,放在集合中;
2,将集合中的数据压入action context中,然后再页面通过struts2的ognl表达式配合标签获取到指定的数据;
注意点:
1,数据打包放到集合中时,集合需要先实例化,或者是继承了RequestAware,SessionAware, ApplicationAware接口,这样数据才能放到集合中,否则总是在页面debug的时候显示集合为null;
2,数据压入action需要的就是在将所需要压入的数据对象,经过set get方法,这样才能压入到action context中,其中set方法相当于在action中压入了集合对象,而对于get方法相当于可以例如压入到action context中的对象在jsp页面中通过ognl表达式获取到相关的action context中的值;