POJO类:
Basket
{
private Goods goodsId;//这个属性与Goods类的主键id设置为多对一的关系
public void setGoodsId()
{
...
}
public Goos getGoodsId()
{
...
}
...
}
Goods
{
private int id;
private String name;
private double salePrice;
...
}
后台代码是根据条件取出符合条件的Basket类,并保存在List<Basket>中
如何在JSP页面通过Basket类的对象取出Goods中的name值jsp页面中:
<s:iterator value="#list" id="us">
<s:property value="#us.goodsId.name"/><!--这样写显示不出来,怎么写才可以显示出来-->
<s:property value="#us.salePrice"/><!--这里可以显示得出来salePrice,说明后台的逻辑代码没错-->
</s:iterator>

解决方案 »

  1.   

    如果lz的list是放在request中的
    <s:iterator value="#request.list" id="us">
    <s:property value="#us.goodsId.name"/><!--这样写显示不出来,怎么写才可以显示出来-->
    <s:property value="#us.salePrice"/><!--这里可以显示得出来salePrice,说明后台的逻辑代码没错-->
    </s:iterator>如果lz的list是放在session中的
    <s:iterator value="#session.list" id="us">
    <s:property value="#us.goodsId.name"/><!--这样写显示不出来,怎么写才可以显示出来-->
    <s:property value="#us.salePrice"/><!--这里可以显示得出来salePrice,说明后台的逻辑代码没错-->
    </s:iterator>
      

  2.   

    如果lz的list是放在request.中的
    <s:iterator value="#request.list" id="us">
    <s:property value="#us.goodsId.name"/><!--这样写显示不出来,怎么写才可以显示出来-->
    <s:property value="#us.salePrice"/><!--这里可以显示得出来salePrice,说明后台的逻辑代码没错-->
    </s:iterator>如果lz的list是放在session.中的
    <s:iterator value="#session..list" id="us">
    <s:property value="#us.goodsId.name"/><!--这样写显示不出来,怎么写才可以显示出来-->
    <s:property value="#us.salePrice"/><!--这里可以显示得出来salePrice,说明后台的逻辑代码没错-->
    </s:iterator>
      

  3.   

    <s:property value="#us.salePrice"/>都可以取得出来,说明这和访问范围无关好么?
      

  4.   

    首先你要看你的list中放的是哪个对象,根据你说的应该放的是goods对象吧,取名字直接这个不就行了<s:property value="#us.name"/>
      

  5.   

    取值的方法应该是对的,应该是没有查询出来,是不是延迟加载问题,楼主最好测试下:
    取下us.goodsId.id看有没有值,如果有,说明是延迟加载了