struts2步骤

1、添加jar包
2、在web.xml中配置过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、编写struts.xml文件
4、编写action
普通模式,在action中直接指定method=""
基于请求参数
http://localhost:8080/struts2/user!add
http://localhost:8080/struts2/user?method:add
基于通配符
5、action向jsp传值
1、 私有属性和其对应的set/get方法
在跳转的页面通过 ${私有属性} EL表达式获取
2、//第二种,通过ActionContext.getContext()方法
ActionContext.getContext().put("abc", "123"); => <s:property value="#abc" />
3、//第三种传值方式,通过servlet的api传值
ServletActionContext.getRequest().setAttribute("ccc", "hello"); =>
<s:property value="#request.ccc" />
6、jsp向action中传值
1、私有属性 和其对应的set/get方法
http://localhost:8080/struts2/user_addInput?username=abc&password=123
private String username;
private String password;
set/get方法
System.out.println(username+"="+password);
7、OGNL表达式:

8、ValueStack:
件图片
9、ModelDriven:

10、struts2的文件上传: (用到了common-fileupload、common-io 包)
(1)、页面
<form action="msg_fileUpload" method="post" enctype="multipart/form-data">
title:<input name="title" type="text"/><br>
<input type="file" name="photo" /> <br>
<input type="file" name="photo" /> <br>
<input type="file" name="photo" /> <br>
<input type="file" name="photo" /> <br>
<input type="submit" value="提交" >
</form>
(2)、Action中获取
private File[] photo;
private String[] photoFileName;
private String[] photoContentType;
..
set/get方法
..

public String fileUpload(){
for(int i=0;i<photo.length;i++){
File p = photo[i];
String name = photoFileName[i];
String type = photoContentType[i];
System.out.println(name+"\"+type);
FileUitls.copyFile(p,new File("d:/ttest/"+name));
}
}
11、拦截器:
1.写一个类,实现abstractintercptor抽象类
2.在intercept 写业务
3.在struts.xml中配置intercptor:
<interceptors>
<interceptor name="helloInterceptor" class="cn.xxx.struts2.interceptor.HelloInterceptor"></interceptor>
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="helloInterceptor" />
</interceptor-stack>
</interceptors>
<!--
<default-interceptor-ref name="myStack" ></default-interceptor-ref>
-->
4.在struts.xml中的action引用:
<action name="msg_*" class="cn.xxx.struts2.action.MessageAction" method="{1}">
<interceptor-ref name="myStack" />
<result name="success" >/WEB-INF/message/fileUpload.jsp</result>
<result name="{1}" >/WEB-INF/message/{1}.jsp</result>
</action>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值