struts2中,Action重写了excute()方法,在此excute方法中,不知为何前台传来的数据丢失了,后台得不到
前台数据已经传出:window.location=path+'/***.com?flag=labs';***代表action在struts.xml中的配置地址,已经正常跳...
前台数据已经传出:window.location=path+'/***.com?flag=labs';
***代表action在struts.xml中的配置地址,已经正常跳转,所有此处没有问题。
后台action代码:
public class RedirectAction extends ActionSupport{
@Override
public String execute() throws Exception {
... ...
String flag = getRequest().getParameter("flag");
... ...
}
}
此时 flag为null,
看到1,2楼的回答我修改后做了测试,还是得不到
private String flag;
public class RedirectAction extends ActionSupport{
@Override
public String execute() throws Exception {
... ...
flag = getRequest().getParameter("flag");
... ...
}
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
flag依然为null 展开
***代表action在struts.xml中的配置地址,已经正常跳转,所有此处没有问题。
后台action代码:
public class RedirectAction extends ActionSupport{
@Override
public String execute() throws Exception {
... ...
String flag = getRequest().getParameter("flag");
... ...
}
}
此时 flag为null,
看到1,2楼的回答我修改后做了测试,还是得不到
private String flag;
public class RedirectAction extends ActionSupport{
@Override
public String execute() throws Exception {
... ...
flag = getRequest().getParameter("flag");
... ...
}
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
flag依然为null 展开
展开全部
public class RedirectAction extends ActionSupport{
private String flag;
@Override
public String execute() throws Exception {
//UserService.updateFlag(flag);
}
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
struts2中你只要在action中的属性如private String flag设置了setter方法,默认会自动帮你把值设置进去,当然你的路径中需要有这个属性。也就是说你可以在action中的方法(如execute)中直接使用flag值像UserService.updateFlag(flag);struts2 已经把HttpRequest对象封装下在Actioncontext中,主要是消除对servlet Api的依赖,可以继承HttpReqeustAware接口,来得到request对象。
private String flag;
@Override
public String execute() throws Exception {
//UserService.updateFlag(flag);
}
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
struts2中你只要在action中的属性如private String flag设置了setter方法,默认会自动帮你把值设置进去,当然你的路径中需要有这个属性。也就是说你可以在action中的方法(如execute)中直接使用flag值像UserService.updateFlag(flag);struts2 已经把HttpRequest对象封装下在Actioncontext中,主要是消除对servlet Api的依赖,可以继承HttpReqeustAware接口,来得到request对象。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的flag 是从xml中传递过来的。 但是你却在这里新new的一个。 所以不对啊
你应该在execute()方法外面 声明flag 并且给予get set方法
你应该在execute()方法外面 声明flag 并且给予get set方法
追问
声明并且set get后依然得不到值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
get,set没有怎么摆弄数据~~~~
追问
set get后依然得不到值呀,还能是什么问题呢
追答
设断点一步步走,用firebug看请求响应信息,看看请求的参数里面有没有你的那个参数值,如果没有,说明你前台设定值没成功,后台当然拿不到~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
获取页面传输的值应该是String flag=request.getParameter("flag");
或者是你的name属性flag未提交到Action
或者是你的name属性flag未提交到Action
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
String flag = getRequest().getParameter("flag");
这个对吗?
这个对吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询