用了java框架struts2还用httpservletrequest接收参数是不是很蹩脚啊
我同事的代码是这么写的publicclassUserAction{publicStringexecute(){HttpServletRequestrequest=Serv...
我同事的代码是这么写的
public class UserAction{
public String execute(){
HttpServletRequest request=ServletActionContext.getRequest();
String username=request.getParameter("username");
String password=request.getParameter("password");
//.........
return "success";
}
}
这么写行么? 展开
public class UserAction{
public String execute(){
HttpServletRequest request=ServletActionContext.getRequest();
String username=request.getParameter("username");
String password=request.getParameter("password");
//.........
return "success";
}
}
这么写行么? 展开
3个回答
展开全部
没有这么写的,如果需要在Action中使用request的话,一般选择实现ServletRequestAware这个接口
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间
Struts跟你怎么取值关系不大,他是框架,取值你怎么方便怎么取,你可以这样写:
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{
protected HttpServletRequest request;
protected HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
}
再把你的action类 extends BaseAction这样就很方便的直接使用request和response
Struts跟你怎么取值关系不大,他是框架,取值你怎么方便怎么取,你可以这样写:
public class BaseAction extends ActionSupport implements ServletRequestAware,ServletResponseAware{
protected HttpServletRequest request;
protected HttpServletResponse response;
public void setServletRequest(HttpServletRequest request) {
this.request=request;
}
public void setServletResponse(HttpServletResponse response) {
this.response=response;
}
}
再把你的action类 extends BaseAction这样就很方便的直接使用request和response
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我一般都是用domain model ,利用框架本身把值映射过去,很方便
追问
我知道该怎么依赖注入
我就是问我同事这么写可取么
追答
sorry, 记起来了,一般外面教ssh的时候,一开始就是用楼主给的这种方法,了解servlet嘛,到后来,为了效率就会教依赖注入什么的。看来你同时还是在用一开始教的额……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询