-
添加struts标签库<%@ taglib prefix="s" uri="/struts-tags" %>
验证表单,input自动返回,validate验证方法
查看全部 -
接收参数的3种方式:使用Action的属性接收、使用DomainModel接收(使用一个对象把属性封装起来)、使用ModelDriven接收(需要实现ModelDriven接口,并对对象属性进行实例化)
查看全部 -
动态方法调用:实现一个action对应多个请求的处理,避免创建太多的action。有3种方式:指定method属性、感叹号方式(官方不推荐的方式,需要开启常量struts.enable.DynamicMethodInvocation)、通配符方式(官方推荐使用的方式,用到*和{1}进行匹配)
查看全部 -
Action搜索顺序:先匹配package的namespace,如果匹配到了,但是没有找到action就报错;如果没匹配到,继续往上一级路径进行匹配,直到默认的namespace。
查看全部 -
1.struts.xml下的标签:struts、include(file)、package(name、extends、abstract、namespace:"")、interceptors、interceptor(name、class)、interceptor-stack(name)、interceptor-ref(name)、default-interceptor-ref(name)、global-results、action(name、class:ActionSupport、method调用action的方法名:execute)、default-action-ref(name)、result(name与action的返回值相同:success、type:dispatcher)、param(如果在action中,name对应action中的get/set方法;......)、constant(name、value)、global-exception-mappings、exception-mapping(result、exception)
注:struts.xml通过constant等同于struts.properties中定义常量,package一般都会继承struts-default
2.struts.properties中常用的键值:struts.i18n.encoding、struts.i18n.reload、struts.configruation.xml.reload、struts.devMode、struts.serve.static.browserCache、struts.action.extension、struts.url.http.port
查看全部 -
struts原来的核心过滤器是FilterDispatcher,现在是StrutsPrepareAndExecuteFilter;后者支持在action前添加过滤器
工作原理:客户的请求HttpServletRequest经过一系列的过滤器,由ActionMapper匹配到以.action为结尾的请求后,过滤器将action转交到ActionProxy,它会通过ConfigurationManager读取struts.xml的配置文件,根据配置文件找到相应的action类,通过ActionProxy创建一个action的反向实例,经过一系列拦截器执行到action,返回字符串对象result,再经过一系列的拦截器通过HttpServletResponse返回给客户。
查看全部 -
在web.xml文件中加过滤器filter;filter、filter-name、filter-class、filter-mapping、url-pattern
在struts.xml中加package,每个package(name、namespace)下可以有多个action(name、class),action下面是有子标签result(name、type)
查看全部 -
4.创建视图result.jsp:(右键WebContent、JSP File
查看全部 -
3.配置strut.xml的映射
查看全部 -
2.strut.xml:在Java Resources中的src下右键、other、搜索xml创建,名称为strut.xml,约束用准备好的复制上去
3.创建action,注意继承项目里的AcitonSupport(通过Browse...搜索
4.不指定方法名的情况用struts2的默认方法,o/i Methods 中的execute();
可以在方法中打印一个输出并返回成功的映射(界面)如
public String execute() throws Exception {
System. out. println("执行Action");
return SUCCESS;
}
查看全部 -
注意事项:创建Dynamic web project 记得勾选web.xml
把需要用到的包放入WebContent(默认名)WEB-INF中的lib下在项目名(HelloWorld)右键、BuildPath、AddJar
步骤1.配置web.xml:
<filter>标签中<filter-name>struts2</filter-name>与
<filter-mapping>标签中
<filter-name>struts2</filter- name>
一致,<filter-class></filter-class>中的内容写好后按下Ctrl + 鼠标左键如果能跳转到Class File Editor页面说明写入正确<url-pattern>/*</ur1- pattern>表示所有路径都需要过滤
查看全部 -
局部结果:将<result>标签作为<action/>元素的子元素来处理。
全局结果:将<result/>作为<global-result/>元素的子元素的来处理,<global-result/>相当于公共的处理结果集。
<result> <param name="location">/index.jsp</param> <param name="parse">true</param> </result>
name属性的location:定义了该视图对应的实际视图资源。
name属性的parse:是否可以在实际视图名字中使用OGNL表达式,struts默认是true。
查看全部 -
1、配置XML
<action name="login" method="login" class="com.action.LoginAction"> <result>/index.jsp</result> <result name="input">/login.jsp</result> </action>
2、在方法里使用return INPUT 或者重写validate方法
if(user.getUsername()==null||user.getUsername().equals("")){ this.addFieldError("username","用户名不能为空"); return INPUT; }
@Override public void validate() { if(user.getUsername()==null){ this.addFieldError("username","用户名不能为空"); } }
查看全部 -
处理结果类型
查看全部 -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
</struts>查看全部
举报