Struts2 学习笔记

来源:互联网 发布:小键盘软件下载 编辑:程序博客网 时间:2024/05/22 14:19

 学习笔记,不断更新。

1)1、  配置struts的三个步骤:1》找到开发struts2应用需要用到的jar文件;2》编写struts2的配置文件;3》在web.xml中加入struts2 MVC框架启动配置。

2)  开发struts2应用必须导入的jar文件:

struts2-core-2.1.8.1.jarstruts2框架的核心类库

xwork-core-2.1.6.jarXWork类库,struts2在其上构建

ognl-2.7.3.jar:对象图导航语言(Object Graphic Navigation Language),struts2通过其读写对象的属性。

freemarker-2.3.15.jarstruts2UI标签的模板使用FreeMarker编写

commons-logging-1.0.4.jarASF出品的日志包,struts2使用这个日志包来支持Log4JJDK的日志记录。

commons-fileupload-1.2.1.jar:文件上传组件,2.1.6版本后加入此文件。

3)2、Action配置中的各项默认值:

<package name="hello" namespace="/test" extends="struts-default">

<action name="helloworld" class="package1.HelloWorld" method="execute">

    <result name="success">/WEB-INF/page/hello.jsp</result>

</action>

</package>

1》  如果没有为action指定class,则默认是ActionSupport

2》  如果没有为action指定method,默认执行action中的execute方法

3》  如果没有指定resultname属性,默认为success

4) 3、 result配置的各种视图转发类型及全局视图:

1》  dispatcher:默认值,内部请求转发,可以转发到WEB-INF目录下的jsp页面。

2》  redirect:浏览器重定向,不能定向到WEB-INF目录下的jsp页面。

result中还可以使用${属性名}访问action中的属性,表达式中的属性名对应action中的属性。

3》  redirectAction:浏览器重定向到action

如果重定向的action在同一包中,<result type="redirectAction">helloworld</result>

如果重定向的action不在同一包中,

<result type="redirectAction">

    <param name="actionName">helloworld</param><!-- 指定action的名字 -->

    <param name="namespace">/test</param> <!-- 指定命名空间  -->

</result>

4》  plaintext:显示原始文件,当需要原样显示jsp文件源代码的时候可以运用这种类型。

Struts读取文件时默认用系统默认的GBK编码方式读取文件,所以要注意文件的存放编码方式和读取文件的编码方式不同的话,可能会出现乱码。

<result type="plainText">

    <param name="location">/xxx/jsp</param>

    <param name="charSet">UTF-8</param> <!-- 读取文件用的编码 -->

</ result>

5》  全局视图。在包中加入<global-results name="xxxx">/xxx.jsp</global-results>,那么这个包中的每个action都可以使用这个全局视图了。

如果想要在两个或两个以上的包中使用此视图,通过包与包的继承实现。代码如下:

<package name="base" extends="struts-default">

       <global-results name="xxxx">/xxx.jsp</global-results>

    </package>

<package name="hello" namespace="/test" extends="base">

</package>

6》  Tomcat服务器接收到中文是以ISO8859-1编码的,所以,以get方式传递的中文参数要先得到ISO8859-1二进制数组,然后得到我们想要的编码方式,比如UTF-8.

5)  6、指定struts2处理的请求后缀:

1》  默认使用.action后缀访问Action;其默认后缀可以通过常量”struts.action.extention”进行修改,例如:可以配置struts2只处理以.do为后缀的请求路径:

struts-xml文件中设置:

<struts>

<constant name=” struts.action.extention” value=”do”>

</struts>

原创粉丝点击