struts中的Action处理,将值放入List中;在JSP页面中,通过迭代的方法将值取出,因为返回来的是ID值,但我要显示的是这个ID值所对应的中文名字(该ID是外键):
1.在JSP页面中,有什么方法可以将Action返回的值用在Java代码中作为参数使用;
2.如果不使用我这种方法,请问有什么可以替换的方法解决;脑子实在转不过来,不知道怎么解决,求各位大侠指导。部分代码如下。。如果写得不详细,烦请百度Hi找我,2011韩城攻略。
<s:iterator value="goodsList" id="good" status="goods">
<tr target="goo_id" rel="<s:property value="goo_id" />">
<td name="goo_id">
<input type="hidden" value="<s:property value="goo_id"/>" />
</td>
<td>
<s:property value="#goods.index+1" />
</td>
<td name="goo_cla_thr_id">
<%
Bean_shop_class_third thrClass = null;
Shop_ClassManagerDAOImpl shop_ClassManagerDAOImpl = new Shop_ClassManagerDAOImpl();//商品分类数据库操作类
thrClass = shop_ClassManagerDAOImpl.query_Oneshop_class_third();
%>
</td>
<td name="goo_name">
<input value="<s:property value="goo_name"/>" disabled="true"/>
</td>
<td name="goo_price">
<s:property value="goo_price"/>
</td>
<td name="goo_price_et">
<s:property value="goo_price_et"/>
</td>
<td name="goo_weight">
<s:property value="goo_weight"/>
</td>
<td name="goo_inventory">
<s:property value="goo_inventory"/>
</td>
<td name="goo_integral">
<s:property value="goo_integral"/>
</td>
<td name="goo_images">
<s:property value="goo_images"/>
</td>
<td name="goo_descripte">
<s:property value="goo_descripte"/>
</td>
</tr>
</s:iterator>actionjspiteratorstruts

解决方案 »

  1.   

    解决办法应该就是:jsp代码段中直接访问值栈内容。有些特殊情下,需要在JSP的<%%>java代码段中直接访问值栈内容。而不使用<s:property value="name"/>获取,可以通过如下方式进行:
    <%@ page import= "com.opensymphony.xwork.ActionContext"  %>
    String name = (String)ActionContext.getContext().getValueStack().findValue( "name" );<%@ page import= "com.opensymphony.xwork.ActionContext" %>引入这个类为什么会报错的,
    Multiple annotations found at this line:
    - The import com.opensymphony.xwork cannot be
    resolved
    我已经引入了,xwork-2.1.2.jar,xwork-core-2.3.1.2.jar两个包。。或者,是因为我引错了包,麻烦帮忙看下。。
      

  2.   

    名字不能再后台查好后一起返回么,前台也行,要么写一大堆s:if要么自己写个自定义标签
      

  3.   

    其实这个问题可以用Java代码来实现,直接通过request.getAttribute(属性名)来取得值栈的值,前提是Action那边要有set和get方法。
      

  4.   

    不要搞什么主外键关系  建议建个试图把你要查的所有信息都放入试图里  然后通过试图取值   现实的时候就不取ID了 你直接取Name就好了