struts2基础

1、到官网下载解压以后
apps:struts2的示例
docs:文档、api
lib:核心类库,jar包
struts2的配置文件有两份:配置action的struts.xml文件 配置struts2全局属性的struts.properties文件
struts.devMode = false //指定struts2处于开发状态
struts.configuration.xml.reload=true //指定当配置文件改变时,自动重新加载配置文件
struts2的控制器由两个部分组成:FilterDispatcher和业务控制器Action
Action类优点:Action类是一个pojo,具有很好的代码复用性,无需与servlet Api耦合,方便单元测试,execute方法仅返回一个字符串,该处理结果可以映射到任何视图,甚至是另一个Action。
2、需要使用的jar包
struts2-core-2.1.8.1.jar xwork-core-2.1.6.jar ognl-2.7.3.jar commons-logging-1.0.4.jar
freemarker-2.3.12.jar commons-io-1.3.2.jar commons-fileupload-1.2.1.jar
7个包为必须使用的包


3、编辑web应用的web.xml配置文件,配置struts2的核心Filter
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<!-- FilterDispatcher用来初始化struts2并且处理所有的WEB请求。 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

struts2默认拦截所有后缀为.action的请求。因此,如果将Action属性设置为*.action格式就可以被struts2拦截。

导入jar包->配置->Action

4、struts2对请求的响应过程是典型的AOP(面向前面编程)处理方式

 

小例子:
struts:
<package name="mystruts" extends="struts-default" >
<action name="login" class="system.LoginAction">
<result type="chain">book</result>
<result name="error">/hello.jsp</result>
</action>
<action name="book" class="action.BookAction">
<result name="success">/test/book.jsp</result>
<result name="error">/hello.jsp</result>
</action>
</package>
BookAction:
public String execute() throws Exception {
String user = (String) ActionContext.getContext().getSession().get("user");
if (user.equals("tiger")) {
BookService bs = new BookService();
setBooks(bs.getBookList());
return SUCCESS;
}else {
return ERROR;
}
}
book.jsp:
<body>
<table border="1" width="360">
<s:iterator value="books" status="index">
<s:if test="#index.odd==true">
<tr style="background-color: #cccccc">
</s:if>
<s:else>
<tr>
</s:else>
<td><s:property /></td>
</tr>
</s:iterator>
</table>
<%
ValueStack vs = (ValueStack) request
.getAttribute("struts.valueStack");
String[] books = (String[]) vs.findValue("books");
for (String b : books) {
%>
<tr><%=b%></tr>
<%
}
%>
</body>

转载于:https://www.cnblogs.com/ikuman/archive/2011/11/07/2239472.html

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值