struts2之day01——04Struts2相关配置
一、Struts2核心配置文件:
1、名称和位置是固定的;
2、
在配置文件中主要的三个标签:package、action、result,标签里面的属性:
二、struts.xml中的三个主要标签
标签package:
1、类似于代码包,区别于不同的action,必须首先写package标签,在package里面才能配置action
2、Package标签属性
(1)name属性:
*name属性值根本功能本身没有关系的,在一个配置文件中可以写多个package标签,name属性值不能相同的;
(2)extend属性:
*表示继承关系,属性值固定;
*写了这个属性之后,在package里面配置的类具有action功能;
(3)namespace属性:
*namespace属性值和action标签中的name构成访问路径
*如果不写就默认/;但是一般建议写上;
标签action:
1、action标签配置action访问路径
2、Action标签属性
(1)name属性
*namespace属性值和action标签中的name构成访问路径;
*在一个package标签里面写多个action标签,但是action的name属性值不能相同的;
(2)class属性
*action全路径
(3)method属性
*比如说action中默认执行方法为excute方法,但是在action里面写其他方法
*让action里面多个方法执行,使用method进行配置;
标签result:
1、根据action中的方法中的返回值,配置到不同的路径中去;
2、Result标签中的属性:
(1)name属性:
*和方法的返回值一样;
(1)Type属性:
*如何到路径中去(转发或者重定向)
*type属性的默认值,做转发操作;
struts2常量配置
1、常用的方式
在struts.xml中进行配置;
2、还有两种方式(了解)
*在src下面创建struts.properties,进行修改;
*在web.xml进行配置;
介绍常用常量
(1)表单提交数据到action里面,在action可以获取表单提交数据;
(2)表单提交数据有中文,有乱码问题,解决方案:
-post提交直接设置编码;
-get提交做编码转换
(3)如果在action获取表单通过post方式提交中文,中文乱码问题帮解决了,不需要自己处理问题。
struts2分模块开发
思想:每个人都写自己的配置文件,最终都引入到struts.xml中;
1、单独写一个配置文件,把配置文件引入到核心配置文件中;
2、重要部分代码:
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> <constant name="" value=""></constant> <!--<package name="hellodemo" extends="struts-default" namespace="/"> <action name="hello" class="nbdhyedu.action.helloAction"> <result name="ok">/hello.jsp</result> </action> </package> --> <!-- 引入hello.xml文件 --> <include file="nbdhyedu/action/hello.xml"></include> </struts>
hello.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> <constant name="" value=""></constant> <package name="hellodemo" extends="struts-default" namespace="/"> <action name="hello" class="nbdhyedu.action.helloAction"> <result name="ok">/hello.jsp</result> </action> </package> </struts>
helloAction.java:
package nbdhyedu.action; public class helloAction { public String execute(){ return "ok"; } }
3、运行结果: