`
shangguanwufan
  • 浏览: 4744 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

struts2 初体验--入门

阅读更多

现在,开始我们的SSH。

Struts2初体验
Mvc struts在v方面提供一些视图标签组件(结合ognl表达式使用),c方面更加方便
Struts是表示层的框架,hibernate是数据访问层的框架,spring是综合性的框架(spring可以将许多框架无缝隙的整合在一起,另外spring有ioc和aop可以解决事务问题)
补:war包是web项目的压缩文件
基本步骤:
1 加载jar包(8个)
(附件中有这8个jar包的截图)
配置web.xml

2开发视图层
3Action    implements Action
4配置struts。Xml文件(namespace=“/” 斜线代表当前项目)

例:
//接收请求,调业务功能!(同servlet似)
public String execute() {
if("jereh".equals(uname)&&"1234".equals(password)){

//返回结果字符串,指向转向的目标界面
return "success";
}else{

//返回结果字符串,指向转向的目标界面
return "fail";
}
}

//属性:封装参数数据个
Struts的请求方式是使用请求转发方法,action参数保存在request的范围(actionContex范围)
Action属性的作用:1、封装参数信息2、保留状态(将属性值自动保留在request范围内)

Struts2访问servlet的API
Action中使用session和application时有两种方式:
与servlet API解耦的访问方式
与servlet API耦合的访问方式

1. servlet API解耦的访问方式
  通过actionContext类获取三个map对象
    Object Get(“request”);
Map getSession()
Map getApplication()
通过xxx.getAttribute(),xxx.setAttribute()在不同页面或action中传递数据
例: ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();// 可以通过返回的map操作session中的数据
session.put("userInfo", userInfo);
// session.remove("userInfo");

Map application = actionContext.getApplication();
application.put("user", userInfo);

Map request = (Map) actionContext.get("request");
request.put("user", userInfo);

2. servlet API耦合的访问方式
//耦合
HttpServletRequest request = ServletActionContext.getRequest();
HttpServletResponse response = ServletActionContext.getResponse();
ServletContext application = ServletActionContext.getServletContext();
HttpSession session2=request.getSession();
application.setAttribute("user", userInfo);
request.setAttribute("user", userInfo);

Struts2表单标签
导入struts2的核心标签库
例:<s:textfield>。。。。。。
<s:form action="/HelloWorldAction" namespace="/">
<form action="/housesys/HelloWorldAction.action" >

<s:textfield name="userInfo.name" cssClass="text" ></s:textfield>
<input type="text" class="text" name="userInfo.name" />

<input type="password" class="text" name="userInfo.password" />
<s:passwordcssClass="text"name="userInfo.password"></s:password>
Struts2的标签自己带样式,一般要去掉
<constant name="struts.ui.theme" value="simple"></constant>
补:struts标签式绑定数据的,当绑定的数据在请求中存在时会显示

Struts2数据校验
实现数据校验需要继承扩展ActionSupport



在执行execute之前进行的服务器端验证,验证失败时跳转到结果名为input所对应的页面

 

  • 大小: 16.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics