推荐慕课教程非常好,很实用
1.默认action
创建默认页面,当找不到指定action处理时会跳到指定页面。
2.引入其他配置文件
引用其他的配置文件,使用场景是当用户管理的action太多,写在一起太麻烦,就可以写到别的xml文件中,然后引入到struts.xml中。
指定编码格式
3.动态调用action
推荐方法:
a.使用 method调用action的方法
B.使用通配符,如下图
4.后缀修改
A.在struts.xml中修改,但是访问时必须要有html后缀
B.struts.properties在文件中修改
C.不常用,在web.xml中设置
5.参数
a.使用Action的属性接收
在action类中定义成员变量,并添加get、set方法
在JSP页面中Form表单的Action属性指向对应的action,input控件的name属性和Action类中定义的成员变量一致
b.使用DomainModel接收参数
创建一个实体javaBean类,定义成员变量,并添加get、set方法;
Jsp中input的name属性要写上 user.username等等
c.使用ModelDriven接收参数
使用ModelDriven接口,这个action必须实现这个接口的public T getModel()方法
并且不能有其相关的get,set方法,她也需要有javabean对象,并且需要实例化对象,jsp中不需要指定对象,直接写属性。不用写user.username直接写username。
如果参数是List userLis复杂类型,前台的参数name属性应该这样写userList[0].username
6.处理结果类型
Action处理之后返回的是字符串类型。
当表单验证失败时会跳转到登录页面,并且提示错误信息。Jsp如下图
后台java代码如下图
也可以继承validate方法
7.拦截器
A.不推荐
B.推荐
编写拦截器方法
在配置文件里注册拦截器和引用拦截器
Struts
自带的常用拦截器
未指定拦截器的action会引用默认的拦截器栈,制定拦截器的action可以手工引用系统拦截器栈。