-
2.1.2版本之后的核心过滤器查看全部
-
helloWorld.xml查看全部
-
loginAction查看全部
-
login.jsp查看全部
-
Struts2工作原理及文件结构查看全部
-
struts2后缀(用于修改或增加struts2中可用的后缀)如*.action *.do *.struts2等等 三种方式: 1.struts.properties中:struts.action.extension=action,do,struts2 2.xml中(struts.xml)增加常量constant: <constant name="struts.action.extension" value="action,do,struts2"></constant> 3.在过滤器中(web.xml中的<filter>标签内)配置intt-param参数: <init-param> <param-name>struts.action.extension</param-name> <param-value>do,action,strtus2</param-value> </init-param>查看全部
-
【找不到默认action的原因和解决方法】 <default-action-ref name="index"></default-action-ref><br> <br> <action name="index"><br> <result>/error.jsp</result><br> </action> <br> <br> <action name="log_*" method="{1}" class="com.wayne.action.LoginAction"><br> <result name="login">/login.jsp</result><br> <result name="logout">/logout.jsp</result><br> </action><br> <br> 通配符会覆盖掉默认action,所以不能有【*_*】这样子的action,要改成【log_*_*】这类型的命名,否则,【*_*】里面的第一个*就包括了所有的字符,直接进入了这个action进行处理,无法进入默认的action了。查看全部
-
指定多个配置文件,如果项目比较大,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。查看全部
-
1指定多个对应action的method(不指定的默认对应execute) 2感叹号方式:在一个action里面设置多个带有名字(name属性)的result,并且设置对应名字返回值的方法(意思是:该方法的名字与返回值都应该与name中属性对应?),调用的时候,在action域名后面加上!写入对应方法的名字 通过不同方法的不同返回值调用对应的result 3通配符方法(推荐):{1}对应第一个*输入的字符串{2}对应第二个*位置输入的字符串 通过{1}的输入调用指定的Action 通过{2}输入调用指定的方法并又方法的返回值调用相应的result {2}方法空缺会默认调用execute方法 返回SUCCESS调用默认result查看全部
-
例子: http://localhost:8080/product_one/hellowworld.jsp可以进入result.jsp页面 http://localhost:8080/product_one/aaa/ddd/ccc/hellowworld.jsp也可以进入result.jsp页面 Action搜索顺序: http://localhost:8080/struts2/path1/path2/path3/student.action 第一步:判断package是否存在,如:path1/path2/path3/ 如果package存在 第二步:则判断该package中action是否存在,如果不存在则去默认namespace的package里面寻找action 第三步:如果没有,则报错 如果package不存在: 第二步:检查上一级路径的package是否存在(直到默认namespace),重复第一步 第三步:如果没有则报错 如果请求为/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覆盖掉查看全部
-
servlet api: httpRequest、httpResponse、servletContext 3个api对应jsp面向对象:request、response、application servlet中可以直接调用servlet api struts2 Action中execute没有任何参数,也就是不存在servlet api struts2 提供了3种方式访问servlet api: 1.ActionContext类 2.实现***Aware接口 3.ServletActionCotext类查看全部
-
Struts2查看全部
-
struts2结构目录查看全部
-
实现modeldriven接口。实例化user,并getmodel查看全部
-
方面: 1.访问Servlet API 2.Action搜索顺序 3.动态方法调用 4.制定多个配置文件 5.默认action 6.Struts2后缀 7.接受参数 8.处理结果类型 1.访问Servlet API HttpServletRequest HttpServletResponse(Struts2不存在) struts2提供了三种方式: 1.ActionContext 2.实现***Aware接口 3.ServletActionContext 2.Action搜索顺序 http://localhost:8080/struts2/path1/path2/path3/student.action 1.判断package是否存在,如:path1/path2/path3/ 2.(package存在)判断action是否存在,如果不存在则去默认namespace的package里面寻找action 3.如果没有,则报错 2.(package不存在)检查上一级路径的package是否存在(知道默认namespace),重复第一步 3.如果没有,则报错 3.动态方法调用 为了解决一个Action对应多个请求的处理,以免Action太多 1.制定method属性(少用)method="" 2.感叹号方式(不推荐)xxx!add.action 3.通配符方式(推荐使用)*_*和{1}{2} 4.指定多个配置文件 1.<include file="模块.xml"></include> 5.默认action 当用户输入的地址找不到对应的action,那么默认action就起作用了 <package> <default-action-ref name="action名称" /> <action name="" class=""> </action> </package>查看全部
举报
0/150
提交
取消