SSH+easyUI开发方法论

1.前端到后台

类似于spring的封装功能,Struts2.x采取的方式是讲model的属性名和文本域元素的属性名进行一一对应。从而在表单提交完成后从后台直接可以通过model来访问对应的属性。

2.后台到前端

将数据封装成JSON字符串,然后在前台进行调用。

Struts2 相比 Struts1 而言,不用直接访问 Servlet API, 使得 Action 可以脱离 Web 容器进行测试。那么 Struts2 访问 Servlet API 有三种方式:

1.使用 ActionContext

  在程序中使用  ActionContext ac = ActionContext.getContext(); 获取到ActionContext的一个实例,然后使用ac.put("key", "value");将信息返回给Web前端。但使用该方法需要在Action类中实现request参数的setter()和getter()方法。如:在表单提交的数据中有username参数,则需要有setUsername()和getUsername()方法。

2.使用 ***Aware 接口

  将Action类实现该接口,然后通过该接口中的 setServletRequest(HttpServletRequest request) 方法获取到Servlet API。然后使用 request.setAttribute("key","value");将信息返回给Web前端。

3.使用 ServletActionContext 类

  使用该方法可以直接通过调用该类中的静态方法获取到 Servlet API。如,ServletActionContext.getRequest();


将后台数据封装成JSON串:

//==============返回json数据================
	public void writeJson(Object object) {
		try {
			String json = JSON.toJSONStringWithDateFormat(object, "yyyy-MM-dd HH:mm:ss");
			ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
			ServletActionContext.getResponse().getWriter().write(json);
			ServletActionContext.getResponse().getWriter().flush();
			ServletActionContext.getResponse().getWriter().close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}




你可能感兴趣的:(SSH+easyUI开发方法论)