Jsp开发使用struts框架前台页面怎么取值

在GoodsAction里面(实现了modelDriven的接口,方法已经重写了)(GoodsBean是商品类)struts配置文件(跳转类型是默认的)在jsp页面跳转到... 在GoodsAction里面(实现了modelDriven的接口,方法已经重写了)(GoodsBean是商品类)

struts配置文件(跳转类型是默认的)

在jsp页面跳转到该action的代码
<a href="goods-showGoodsDeatil.action?goodsId=2 %>">详情</a>

想要实现的功能。在jsp页面点击详情 链接,跳转到GoodsAction里面,showGoodsDeatil()方法把一个商品类的对象gb里面的数据给准备好,在jsp页面取出数据进行显示。

现在的问题是:我在jsp页面取不到值。把<s:debug/>标签的内容写出来

除了我传进去的goodsId是2之外,商品对象gb其他的所有属性都是空值。
但是我在showGoodsDetail()里面测试代码System.out.println全部都输出了值。

说明数据是取到的,但是值栈里面没有,前台取不到。
要是使用的是DomainModel的传值方式就可以取到值。
展开
 我来答
匿名用户
2015-09-10
展开全部
把java代码和jsp代码前部贴出看看,gb是不是没有传出来(写没写get,set)。
更多追问追答
追问
java代码都在这里了啊,是要service和dao层的吗,这个我测试了,没有错,后来数据都取到了。我在GoodsAction里面showGoodsDetail()里面最后写了3个System.out.println();都输出来了。jsp页面取值代码应该不要的吧,值栈里面都没有我要数据,肯定取不出来了吧。
追答
private gb 这个私有变量是否需要添加public的setGb和getGb方法?
yukakosaka
2015-09-10 · TA获得超过118个赞
知道小有建树答主
回答量:119
采纳率:100%
帮助的人:114万
展开全部
private GoodsBean gb;
@Override
    public Object getModel() {
       if(gb== null){
           gb = new GoodsBean();
       }
       return gb;
    }

你这样试看看,感觉你那种写法没有把Model放到值栈里

追问
不行。。
追答
去找到下面这个interceptor
ModelDrivenInterceptor提供了一个配置参数:refreshModelBeforeResult,只要将它定义为true,应该可以
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式