struts2 或jsp 中Request 怎样获取数据 或者说是怎样封装客户端的数据的??、

 我来答
暗夜de忧伤
2010-12-24 · TA获得超过1936个赞
知道小有建树答主
回答量:995
采纳率:75%
帮助的人:971万
展开全部
①使用request方式
-----在struts2的action中获得request对象是这样的:
HttpServletRequest request = ServletActionContext.getRequest();
然后通过setAttribute把数据封装到request请求里:
request.setAttribute("flag", "add");
-----在jsp页面,你可以通过getAttribute获取数据:
String flag = (String)request.getAttribute("flag");
或者通过EL表达式获得值:${flag},但是EL表达式不要放在struts2自定义标签里,它不支持;
又或者使用struts2自定义标签获得数据:
<s:if test="#request.flag==xxx">
xxxxxx...
</s:if>
②使用VO
-----在struts2的action中配置与jsp对应的vo对象,类似于struts1的formbean:
private String flag;
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
然后直接使用set方法设置到jsp的值
public String execute(){
setFlag("add");
return SUCCESS;
}
随后flag这个值会通过值栈的方式保存

-------在jsp页面使用struts2的标签库可以直接获得Action传来的值:
<s:form id="flagForm" method="post">
<s:property value="flag"/>
当然放到文本框里也可以:
<s:textfield name="flag" id="flag"></s:textfield>
</s:form>
至于从客户端发送值到后台,就可以通过form表单传回去,如上面的例子,如果名为flag的文本框的值被修改,然后你提交flagForm表单,在后台Action中用getFlag()即可获得jsp传过来的值
4408110qaz
2010-12-24 · TA获得超过362个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:78.7万
展开全部
struts2自动按照jsp中的组件名,对应到action中的相同参数名,自动赋值。在action中必须有该参数的setter getter方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
644792799
2010-12-23 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:530万
展开全部
关键是action实现RequestAware 接口:
给你一段参考代码:
public class YourAction implements RequestAware{
protected Map<String, Object> request;
@Override
public void setRequest(Map<String, Object> request) {
// TODO Auto-generated method stub
this.request=request;
}

public String execute(){

Object yourReturnData=someThing;
this.request.put("yourReturnDataName",yourReturnData);
return SUCCESS;
}

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ss12ef
2011-01-04 · TA获得超过2853个赞
知道小有建树答主
回答量:2931
采纳率:50%
帮助的人:1440万
展开全部
这很简单啊
直接在对应的action中
用String aa=request.getAttribute("aa");
这样就可以拉
呵呵...要给我分拉!
我是第一个给你答的哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zengxiaol
2010-12-24 · TA获得超过149个赞
知道答主
回答量:142
采纳率:0%
帮助的人:64.9万
展开全部
放session里
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式