struts2耦合和非耦合设置值和获取的方式

/**
 * 	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;
	}
	
		
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值