struts2中,RequestAware接口问题。
在struts2中,我想通过action实现RequestAware接口,获得一个Map类型的request对象,然后从页面一个表单里传值到这个action中。。。比如<...
在struts2中,我想通过action实现RequestAware接口,获得一个Map类型的 request对象,然后从页面一个表单里传值到这个action中。。。比如<input type="text" name="abc"/>,在action里的方法中,我用request.get("abc")取不到。。。。难道这个东西只能用put方法来封装后传值,不能用get方法取页面的name值吗?我用servlet中的HttpServletRequest req=ServletActionContext.getRequest();
String str=req.getParameter("abc");这个就可以取到。。或者单独加个属性来拿到值。。或者通过ActionContext也能拿到。。但我就想知道通过实现RequestAware
不能取值么。。。。那这个接口也忒不好使啊。。。大神么。。求解释原理。。 展开
String str=req.getParameter("abc");这个就可以取到。。或者单独加个属性来拿到值。。或者通过ActionContext也能拿到。。但我就想知道通过实现RequestAware
不能取值么。。。。那这个接口也忒不好使啊。。。大神么。。求解释原理。。 展开
2个回答
展开全部
struts2已经帮我们把页面中输入的值封装到action的属性当中了,你在action中加入以下代码,就可以取得页面中传入的值
private String abc;
public void setAbc(String abc){
this.abc = abc;
}
public String getAbc(){
return this.abc
}
所以request.get()方法是用不到
private String abc;
public void setAbc(String abc){
this.abc = abc;
}
public String getAbc(){
return this.abc
}
所以request.get()方法是用不到
追问
明白了。再问您一个。我在页面里所有查询后边加了这个,">修改,也就是每条记录可以修改,通过这个getoneuser的action里边的方法查询到这个对象然后在修改页面的显示一下对象原来的数据,但就是报警告: Parameter [userid] is on the excludeParams list of patterns!这个错。难道struts2不能像servlet那样传值吗?可我测试,取到那个userid了。就是报这个错
追答
不知道你的有没有写错
还有就是userid这个属性有没有get和set方法并且是public的
网易云信
2023-12-06 广告
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
展开全部
我一直都是在用 ServletRequestAware,然后再action中
private HttpServletRequest request;
public HttpServletRequest getRequest()
{
return request;
}
public void setRequest(HttpServletRequest request)
{
this.request = request;
}
public void setServletRequest(HttpServletRequest arg0)
{
request = arg0;
}
像你这种应该是
private Map<String,Object> map ;
public Map<String, Object> getMap()
{
return map;
}
public void setMap(Map<String, Object> map)
{
this.map = map;
}
public void setRequest(Map<String, Object> arg0)
{
map = arg0;
}
这样在获得request就应该有了
private HttpServletRequest request;
public HttpServletRequest getRequest()
{
return request;
}
public void setRequest(HttpServletRequest request)
{
this.request = request;
}
public void setServletRequest(HttpServletRequest arg0)
{
request = arg0;
}
像你这种应该是
private Map<String,Object> map ;
public Map<String, Object> getMap()
{
return map;
}
public void setMap(Map<String, Object> map)
{
this.map = map;
}
public void setRequest(Map<String, Object> arg0)
{
map = arg0;
}
这样在获得request就应该有了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询