-
1.导包: commons-fileupload(上传下载包) commons-io(输入输出包) commons-lang 3-3.2(基础包) commons-logging(日志包) freemarker(模板引擎,通过模板生成文本输出的通用工具) structs2-core(核心包) xwork-core(一些类基于xwork) ognl(表达式) javassist-3.11.0.GA.jar(解析java类文件的一个包) 2.配置web.xml:web项目在启动tomcat时第一个加载的就是web.xml 2.1.定义过滤器 <filter> <filter-name>struct2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><!--按住ctrl点击鼠标左键如果可以跳转则证明正确--> </filter> 2.2.filter的映射 <filter-mapping> <filter-name>struct2</filter-name><!--映射与文件的filter-name应该保持一致--> <url-pattern>/*</url-pattern><!--/*是所有的都需要过滤--> </filter-mapping> 3.src中创建struts的核心xml——struts.xml <?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> 4.创建action包 创建action类让其继承ActionSupport Struts2中有一个默认的方法不指定方法名的话有一个execute()方法 5.配置struts.xml中的映射packeg,action(自己定义),result(结果集) 6.创建result的视图查看全部
-
【Structs2处理流程】 用户请求Structs框架控制器(Action)Structs框架视图资源 返回String,提供代码复用性,有利于框架分离。 【Action中五种内置属性(com.opensymphony.xwork2.Action)】 (1) SUCCESS Action正确的执行完成,返回相应的视图,success是name属性的默认值。 (2) NONE 表示Action正确的执行完成,但并不返回任何事视图。 (3) ERROR 表示Action执行失效,返回错误处理视图。 (4) LOGIN Action因为用户没有登录的原因没有正确执行,将返回该登录视图,要求用户进行登录验证 (5) INPUT Action的执行,需要从前端界面获取参数,INPUT就是代表这个参数输入界面,一般在应用中,会对这些 参数进行验证,如果验证没有通过,将自动返回该视图。查看全部
-
搭建struts2环境步骤: 1.下载相关jar包 struts2 jar 包下载地址: http://struts.apache.org/ http://people.apache.org/builds/struts/ 2.创建web项目 3.创建并完善配置文件 4.创建action并测试启动查看全部
-
接收参数 1,使用Action的属性接受参数,在Action中定义需要接受的属性,并写它的set/get方法。 2,使用DomainModel接受参数,创建实体类定义需要接受的属性,并set/get方法,在Action中创建实体类名属性。并在界面进行指定。 3,使用ModelDriver接受参数,在Action中实现ModelDriver<实体类名>接口,并实现方法返回当前需要转换的对象,删除set/get方法,并对 对象 进行实例化,并取消指定。 4,request 5,获取List集合中的参数。获取多个参数。 第一种接收参数的方法:直接在action类中创建相应的属性和getter和setter,和前端的name名字相同。eg:前端的username,在action类中就要建立一个private String username; Struts会自动映射为这个属性赋值 第二种接受参数的方法:使用DomainModel,将username 和password两个属性封装为一个类User(必须是标准的JavaBean),在action中声明这个属性:private User user; 同时为user设置getter和setter;在前端中的name需要设置为user.name和user.password,才能映射成功 第三种接收参数的方法:使用ModelDriven<T>接口,这个action必须实现这个接口的public T getModel()方法。此时声明的属性必须实例化,eg: private User user = new User(); 同时不需要getter和setter。前端的name也只需要写username和password就可以,不需要再加域了。这种方法时最推荐的方法,因为可以减少前后端的耦合查看全部
-
三种配置方式: 1.在struts.xml中增加常量constant #如果value配置为空:value="",则URL中action不加任何后缀才可以正常显示。 #如果在struts.xml中不配置,则浏览器访问action加不加后缀都可以访问 <constant name="struts.action.extension" value="action,do,html"></constant> #配置多个后缀用逗号隔开 2.在struts.properties中配置: #每一项用逗号分隔 struts.action.extension=action,do,struts2 3.在web.xml的过滤器(StrutsPrepareAdndExecuteFilter)中配置init-param参数 <init-param> <param-name>struts.action.extension</param-name> <param-value>do,action,strtus2</param-value> </init-param>查看全部
-
设置默认action,如果在struts.xml文件中找不到相应的action时,将执行默认action <default-action-ref name="index"></default-action-ref> <action name="index" > <result>/error.jsp</result> </action> <action name="log_*" method="{1}" class="com.wayne.action.LoginAction"> <result name="login">/login.jsp</result> <result name="logout">/logout.jsp</result> </action>查看全部
-
1、如果有很多个Action的配置文件,则需要在struts.xml中使用<include file="fileName.xml"/>来包含其他的配置文件 2、struts文件中添加<constant name="struts.i18n.encoding" value="UTF-8"></constant>以防乱码问题的出现 配置文件和struts.xml的格式如下: <?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>查看全部
-
动态方法调用是为了解决一个Action对应多个请求的处理,以免Action太多。 三种方式:指定method属性、感叹号方式、通配符方式(建议使用) 1. <action name="addAction" method="add" class="com.imooc.action.HelloWorldAction"> http://localhost:8080/HelloWorld/addAction.action 2. <constant name="struts.enable.DynamicMethodInvocation" value="true"> </constant> <action name="helloworld" class="com.imooc.action.HelloWorldAction"> <result >/result.jsp</result> <result name="add">/add.jsp</result> <result name="update">/update.jsp</result> </action> http://localhost:8080/HelloWorld/helloworld!add.action 3. <action name="*_*" method="{2}" class="com.imooc.action.{1}Action"> <result >/result.jsp</result> <result name="add">/{2}.jsp</result> <result name="update">/{2}.jsp</result> </action> http://localhost:8080/HelloWorld/HelloWorld_update.action查看全部
-
Servlet API: httpRequest、httpResponse、servletContext 3个API对应jsp面向对象:request、response、application Servlet中可以直接调用Servlet API struts2 struts2 Action中execute没有任何参数,也就是不存在Servlet API struts2 提供了3种方式访问Servlet API: 1.ActionContext类 2.实现***Aware接口 3.ServletActionCotext类查看全部
-
(1)在result里面最重要的属性是type类型,type的默认值为dispatcher(转发),这个类型支持JSP视图技术。 (2)Struts2支持多种视图技术,例如JSP、Valocity(模板引擎)、FreeMaker(模板引擎)等。 (3)常用三个:chain,redirect,plaintext。 1、chain:将action和另外一个action链接起来。 2、redirect:重定向(会丢失请求参数)。 3、plaintext:返回网页源代码。 4、stream:返回inputstream用于文件下载查看全部
-
处理结果的两种类型: 1.局部结果:作为action子元素配置 2.全局结果:作为global-result元素的子元素配置。查看全部
-
结果类型input的效果 * 1.当参数类型转换错误时,如age输入框中的类型是字母等情况,方法自动返回input * 2.当action中存在addFiledError时: * 1)addFileError放在一般执行方法,addFieldError("", "");语句后面有返回input的语句 * 2)addFileError放在validate()中 *3.FileError的表现形式: * 在jsp页面中使用<s:fielderror/>标签,该标签name属性为addFieldError方法中的参数fieldName,在jsp页面中使用struts标签, * 需要导入标签库 语句:<%@ taglib prefix="s" uri="/struts-tags" %>查看全部
-
struts2处理结果:查看全部
-
struts2接收参数的三种方式: 1.使用Action的属性接收参数:需要页面的元素名和action中的属性名相同,通过get/set方法传递。 2.使用Domain Model接收参数:就是把传递的参数封装入一个对象中传递给相关的action,在页面中元素名应该为“封装对象名.属性名”。 3.使用ModelDriven接收参数: a.在Action中实现ModelDriver<实体类名>接口,该实体类为封装参数的对象类。 b.实现接口相关的getModel()方法,返回相关的封装对象,同时在action中要实例化该对象。 c.对于List集合的封装对象接收参数,要在页面中使用属性名[0]...[n]的方式想action中封装对象的同名属性传参。 d.如果list集合元素为对象时,可以参考下图页面设置传参,“属性名[0].对象属性名”查看全部
-
struts2后缀 三种配置方式: 1.在struts.xml中增加常量constant #如果value配置为空:value="",则URL中action不加任何后缀才可以正常显示。 #如果在struts.xml中不配置,则浏览器访问action加不加后缀都可以访问 <constant name="struts.action.extension" value="action,do,html"></constant> 2.在struts.properties中配置: #每一项用逗号分隔 struts.action.extension=action,do,struts2 3.在web.xml的过滤器(StrutsPrepareAdndExecuteFilter)中配置init-param参数 <init-param> <param-name>struts.action.extension</param-name> <param-value>do,action,strtus2</param-value> </init-param>查看全部
举报
0/150
提交
取消