-
struts。xml是struts2的核心配置文件,主要负责管理应用中的action映射,及action包含的result定义查看全部
-
任何mvc框架都需要与web应用整合,需要借助web。xml文件,只有配置在web,xml文件中Server才会被应用加载查看全部
-
Action搜索顺序查看全部
-
搭建Struts2环境查看全部
-
处理结果的两种类型: 1.局部结果:作为action子元素配置 2.全局结果:作为global-result元素的子元素配置。 处理结果类型-result标签下还有param标签: 1)location:该属性定义了该视图对应的实际视图资源 2)parse:该参数指定是否可以再实际视图名字中使用OGNL表达式,默认值为TRUE,支持OGNL(Object-Graph Navigation Language)表达式 ognl表达式可以在jsp页面去写,也可以在struts2页面中去写,在实际开发中是不常用的,默认情况下ognl是允许的,是打开状态 <param name="parse">true</param> <param name="location">...地址</param> ognl表达式使用:<param name="location">/${#request.path}.jsp</param> 在action类中对应的方法中写request.setAttribute("path","返回的jsp页面名称");查看全部
-
结果类型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" %>查看全部
-
Action的搜索顺序: 1,判断包package是否存在 存在:2:判断action是否存在,如果不存在则去默认的namespace的package里面寻找 3:如果不存在,则报错 不存在:2、检查上一级路径的package是否存在(直到默认的namespace),重复第一步 3、如果没有,则报错 如果请求为/login.action,系统会根据根命名空间("/")中查找名为login的Action,如果在根命名空间中找到了名为login的Action,则该Action处理用户的请求;否则系统将转为在默认命名空间中寻找名为login的Action,如果默认的命名空间中有名为login的Action,则由该Action处理用户的请求。如果两个命名空间中都找不到名为login的Action,那么系统将出现错误。 注意:命名空间只有一个级别。如果请求的URL是/bookservice/search/get.action系统将先在/bookservice/search的命名空间下查找名为get的Action,如果在该系统命名空间内找到名为get的Action,则由该Action处理该用户的请求;如果在该命名空间中没有找到名为get的Action,系统将直接进入默认的命名空间中查找名为get的Action,而不会在bookservice的命名空间下查找名为get的Action。 可以多个包使用同一个命名空间,但是相同的命名空间相当于同一个模块,也就是同一个包。 一个包中可以有name值相同的action,但是后面的action会把前面同名的action覆盖掉查看全部
-
动态方法调用:为了解决一个Action对应多个请求的处理 1.指定method属性 2.感叹号方式:不推荐使用 必须添加<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant> 3.通配符方式:建议使用 在struts2.3版本以后使用通配符需要配置<allowed-methods>标签查看全部
-
指定多个配置文件,如果项目比较大,xml配置文件比较多,那么可以在struts.xml中使用include标签,将多个配置文件包括进来。 <include file="***.xml"> </include> <constant name="struts.i18n.encoding" value="UTF-8"> </constant> 注意: 1.被include的标签一定要符合struts的dtd规范。也就是说被include的xml文件的内部格式要符合struts的xml文件规范。 2.xml文件的编码格式要相同,如果是utf-8,那么都是utf-8。查看全部
-
struts2后缀: 三种方式: 1.struts.properties中:struts.action.extension=action,do,struts2 2.struts.xml中增加常量constant: <constant name="struts.action.extension" value="action,do,struts2"></constant> 3.在过滤器中配置intt-param参数: <init-param> <param-name>struts.action.extension</param-name> <param-value>do,action,strtus2</param-value> </init-param> 注:要先将web.xml中filter-mapping的url-pattern配置成/*,然后将此处的struts.action.extension配置成html才会起效果,否则不会达到效果。查看全部
-
接收参数三个方法,推荐使用ModeIDriven接收 第一种接收参数的方法:直接在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,才能映射成功。如果private User user=new User();是没有办法映射成功的 第三种接收参数的方法:使用ModelDriven<T>接口,这个action必须实现这个接口的public T getModel()方法。此时声明的属性必须实例化,eg: private User user = new User(); 同时不需要getter和setter。前端的name也只需要写username和password就可以,不需要再加域了。这种方法时最推荐的方法,因为可以减少前后端的耦合 注意: 1、使用Action的属性接受参数,在Action中定义需要接受的属性,并写它的set/get方法。 2、使用DomainModel接受参数,创建实体类定义需要接受的属性,并set/get方法,在Action中创建实体类名属性。并在界面进行指定。 3、使用ModelDriver接受参数,在Action中实现ModelDriver<实体类名>接口,并实现方法返回当前需要转换的对象,删除set/get方法,并对 对象 进行实例化,并取消指定。 4、获取List集合中的参数。获取多个参数查看全部
-
【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就是代表这个参数输入界面,一般在应用中,会对这些 参数进行验证,如果验证没有通过,将自动返回该视图。 注意:<result>/success.jsp</result> 有“/”:绝对路径,开始是整个项目的上下文路径 无“/”:相当于执行该action namespace指定的路径查看全部
-
默认Action,在网页找不到原来输入的网址的情况下,跳转的页面 新建 <default-action-ref name = "xxx"></default-action-ref>//这是默认跳转指令,name中的名字可以自定义 <action name= "xxx">//这里的name必须跟<default-action-ref>中的name一样 <result>xxxx.jsp</result>//需要默认跳转到的jsp页面 </action>//结束action查看全部
-
动态方法调用查看全部
-
Struts2不止这些内容查看全部
举报
0/150
提交
取消