/**
* struts2的参数的 解耦合和耦合
* 耦合 借助servletapi进行参数获取
* 解耦合 使用struts2的方式获取参数
* @author Administrator
*
* 有setAttribute()和getAttribute就是作用域对象
*
*/
public class ParamAction extends ActionSupport {
//非耦合的方式获取参数
private String[] sex;
@Override
public String execute() throws Exception {
//耦合方式获取参数
HttpServletRequest request=ServletActionContext.getRequest();
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out=response.getWriter();
String id=request.getParameter("id");
out.println(id);
//非耦合方式获取参数
Map<String, Object> param=ActionContext.getContext().getParameters();
//使用map方式获取的值都是数组类型 可能一个键对应多个值 id=1&id=2
String[] myid=(String[])param.get("id");
//String myname=param.get("name").toString();
for (String str : myid) {
out.println(str+"----");
}
for (String string : sex) {
out.println(string);
}
//非耦合的方式设置键值对到request作用域中
Map<String, Object>requestScope=(Map<String, Object>)ActionContext.getContext().get("request");
requestScope.put("sex", "男");//这句代码就等价于request.setattribute("","");
//耦合的方式获取
String mysex=request.getAttribute("sex").toString();
out.println(mysex);
//非耦合的方式操作session
Map<String, Object>sessionScope=(Map<String, Object>)ActionContext.getContext().getSession();
sessionScope.put("age", "100");
String mysession=request.getSession().getAttribute("age").toString();
out.println(mysession);
//非耦合的方式操作 servletcontex存取值
Map<String, Object> application=ActionContext.getContext().getApplication();
application.put("phone", "13878787963");
ServletContext sc=ServletActionContext.getServletContext();
String myapp=sc.getAttribute("phone").toString();
out.println(myapp);
return null;
}
public String[] getSex() {
return sex;
}
public void setSex(String[] sex) {
this.sex = sex;
}
}
struts2耦合和非耦合设置值和获取的方式
最新推荐文章于 2020-05-31 17:17:55 发布