Action传参给Jsp页面问题

时间:2021-01-24 21:09:59
Action传参给Jsp页面 
内容为beanPage 里面有 list  allRow等属性
使用<s:propery value="beanPage.list"> 不显示东西
在前面加<s:debug/>后取值成功
 求解

15 个解决方案

#1


<s:propery value="beanPage.list"> 
value="#beanPage.list
格式有问题

#2


 不用加beanPage  的吧,取的是值栈里面的值

#3


二楼: 格式有什么问题呢 怎么改

三楼:
PageBean里面有个List 是个集合来的!
问题不在于取不取的出来,而是什么时候被取出来,

#4


LZ你不是用的S标签取值么
它的取值方式是
加入从一个session中取值是要有“#”号的,session中有name等属性
<s:propery value="#session.name"> 

#5


4楼:
额  Value Stack 存在的 一个叫 pageBean的对象

如图 Action传参给Jsp页面问题

貌似不需要加 # 吧, 而且我在+了<s:debug 后取值成功了 

这应该代表代码没错

#6


<s:debug 只是表明你后台确实有值传递过来了,而你页面上恰恰没有,那就是取值的方式有了问题
你直接告诉我后台传递的变量是什么吧,是pageBean么?它里都有什么东西?
PageBean里面有个List 是个集合来的!那么这个集合必须用迭代才可以取出来

<s:iterator value="#request.pageBean.List" id="L"  status="status">
<s:property value="#status.count"/>
<s:property value="#L.name"/>
L.name表示L中也就是List中的对象有这个属性

#7


还要加上结束的标识
  </s:iterator>

#8


回复7楼:

<s:iterator value="#request.pageBean.List"    

这里的request 代表的是从request中取值吗?

#9


日日顶帖啊啊啊啊

#10


回复7楼:
按照你的方法结果报错

额 还有+了<s:debug>后
<s:property value="pageBean.list"> 取值成功 有显示

#11


这是 传值延迟的问题么?

#12


????
LZ的<s:property value="pageBean.list"> 取值成功 有显示????
list不是一个集合么,不用迭代怎么会显示呢?????
都说了<s:debug>只是表明你后台确实有值传递过来了
你的pageBean在后台不是用的
request.setAttribute("pageBean", pageBean);
么???

报什么错了

#13


回复12楼 :

我用<s:iteraotr 遍历出 pageBean.list 里面的属性来了

后台没有报错 你说的后台确实有传参过来没错

但 我的pageBean 不是放在request中的 

而是在 Action中 有  set 和 get pageBean 的功能 ,目的要让Action自动封装传给jsp页面

而且目的也达到。  

现在的主要问题就是 在<s:iteraotr 前面 + <s:debug>  iteraotr 后面是一系列取集合对象的属性的
<s:property value=“xx” 都能取到值。 但是当我把<s:debug 去掉之后<s:property value=“xx” 显示为空.

不知道我的表述你是否清楚?

#14


回复12楼:
   
 <s:debug></s:debug>
 <s:iterator value="pageBean.list" var="p">
    <tr>
    <td align="center"><s:property value="#p.depotDeviceName"/></td>
    <td align="center"><s:property value="#p.depotType"/></td>
    <td align="center"><s:property value="#p.outNum"/></td>
         <td align="center"><s:property value="#p.inNum"/></td>
    <td align="center"><s:property value="#p.restoreNum"/></td>
    </tr>
  </s:iterator>


这样能去取到值 显示正确

   
 
 <s:iterator value="pageBean.list" var="p">
    <tr>
    <td align="center"><s:property value="#p.depotDeviceName"/></td>
    <td align="center"><s:property value="#p.depotType"/></td>
    <td align="center"><s:property value="#p.outNum"/></td>
         <td align="center"><s:property value="#p.inNum"/></td>
    <td align="center"><s:property value="#p.restoreNum"/></td>
    </tr>
  </s:iterator>
  <s:debug></s:debug>


这样取值为空
  

#15


该回复于2010-11-02 14:25:21被版主删除

#1


<s:propery value="beanPage.list"> 
value="#beanPage.list
格式有问题

#2


 不用加beanPage  的吧,取的是值栈里面的值

#3


二楼: 格式有什么问题呢 怎么改

三楼:
PageBean里面有个List 是个集合来的!
问题不在于取不取的出来,而是什么时候被取出来,

#4


LZ你不是用的S标签取值么
它的取值方式是
加入从一个session中取值是要有“#”号的,session中有name等属性
<s:propery value="#session.name"> 

#5


4楼:
额  Value Stack 存在的 一个叫 pageBean的对象

如图 Action传参给Jsp页面问题

貌似不需要加 # 吧, 而且我在+了<s:debug 后取值成功了 

这应该代表代码没错

#6


<s:debug 只是表明你后台确实有值传递过来了,而你页面上恰恰没有,那就是取值的方式有了问题
你直接告诉我后台传递的变量是什么吧,是pageBean么?它里都有什么东西?
PageBean里面有个List 是个集合来的!那么这个集合必须用迭代才可以取出来

<s:iterator value="#request.pageBean.List" id="L"  status="status">
<s:property value="#status.count"/>
<s:property value="#L.name"/>
L.name表示L中也就是List中的对象有这个属性

#7


还要加上结束的标识
  </s:iterator>

#8


回复7楼:

<s:iterator value="#request.pageBean.List"    

这里的request 代表的是从request中取值吗?

#9


日日顶帖啊啊啊啊

#10


回复7楼:
按照你的方法结果报错

额 还有+了<s:debug>后
<s:property value="pageBean.list"> 取值成功 有显示

#11


这是 传值延迟的问题么?

#12


????
LZ的<s:property value="pageBean.list"> 取值成功 有显示????
list不是一个集合么,不用迭代怎么会显示呢?????
都说了<s:debug>只是表明你后台确实有值传递过来了
你的pageBean在后台不是用的
request.setAttribute("pageBean", pageBean);
么???

报什么错了

#13


回复12楼 :

我用<s:iteraotr 遍历出 pageBean.list 里面的属性来了

后台没有报错 你说的后台确实有传参过来没错

但 我的pageBean 不是放在request中的 

而是在 Action中 有  set 和 get pageBean 的功能 ,目的要让Action自动封装传给jsp页面

而且目的也达到。  

现在的主要问题就是 在<s:iteraotr 前面 + <s:debug>  iteraotr 后面是一系列取集合对象的属性的
<s:property value=“xx” 都能取到值。 但是当我把<s:debug 去掉之后<s:property value=“xx” 显示为空.

不知道我的表述你是否清楚?

#14


回复12楼:
   
 <s:debug></s:debug>
 <s:iterator value="pageBean.list" var="p">
    <tr>
    <td align="center"><s:property value="#p.depotDeviceName"/></td>
    <td align="center"><s:property value="#p.depotType"/></td>
    <td align="center"><s:property value="#p.outNum"/></td>
         <td align="center"><s:property value="#p.inNum"/></td>
    <td align="center"><s:property value="#p.restoreNum"/></td>
    </tr>
  </s:iterator>


这样能去取到值 显示正确

   
 
 <s:iterator value="pageBean.list" var="p">
    <tr>
    <td align="center"><s:property value="#p.depotDeviceName"/></td>
    <td align="center"><s:property value="#p.depotType"/></td>
    <td align="center"><s:property value="#p.outNum"/></td>
         <td align="center"><s:property value="#p.inNum"/></td>
    <td align="center"><s:property value="#p.restoreNum"/></td>
    </tr>
  </s:iterator>
  <s:debug></s:debug>


这样取值为空
  

#15


该回复于2010-11-02 14:25:21被版主删除