zoukankan      html  css  js  c++  java
  • 高淇Struts2.0教程之视频笔记(4)

    4_struts2配置文件(struts.xml)详解:

    4.1指定web应用默认字符集:

    <constant name="struts.custom.i18n.resources" value="messages"/> 18:表示中间有18个英文字母,太长所以截断了

    表示指定了资源文件的放置在classes目录下,基本名是messages,则在classes目录下您就应该放置类似messages_zh_CN.properties,message_en.properties名的文件,实现Struts2的国际化

           

    4.2开发模式使用:

    <constant name="struts.devMode" value="true" />

    ture:是开启,false:是关闭

    开发阶段:一般使用开发模式。好处是:修改Action,xml文件后不需要重新启动服务器,直接可以看到结果。

    发布阶段:关闭开发模式,因为在开发模式中,一直会检测是否更新代码,牺牲性能,而且发布后不需要检查代码是否更新。

           

    4.3package的配置:

    这里的package(包)不是java中的包,而是Struts配置文件中的<package>元素。Package就是把Action、result、type、interceptor等这些元素打包到一个逻辑单元中,便于管理。Package可以被其他包继承,可以拥有自己独立的部分,包中内容可以被子包重写。

    4.3.1代码示例:

    4.3.2属性简单说明:

    属性名

    是否必须

    简单说明

    name

    Package的唯一标识,不允许同名

    extends

    指定要继承的包

    namespace

    指定名称空间,根据不同的命名空间划分不同的功能模块,即使Action名字相同,只要位于不同的命名空间就可以执行了。

    abstract

    声明包为抽象否

    4.3.3配置Action

    1.Action的配置信息是将:url、Action、展示页面联系起来

    2.url与Action的name属性对应

    3.class属性指定了Action类

    4.<result>元素将Action中返回的字符串(通过result的name的属性匹配)跟展示页面(通过path或者result元素的文本值)映射起来。

    4.3.4配置result

    <result>元素告诉我们调用完Action后下一步做什么,<result>一般作为action的子元素,或者可以通过<global-result>定义全局result

    <result>有三个基本内容:

    1.name跟Action返回的字符串匹配,不同的字符匹配不同的result

    Name如果没有指定值,默认是"SUCCESS",另外,Action中也定义了很多个常量,方便我们统一指定name

    2.type(默认是dispatcher,类似于Servlet中的forward请求)

    Type值

    使用说明

    chain

    用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。

    com.opensymphony.xwork2.ActionChainResult

    dispatcher

    用来转向页面,通常处理JSP

    org.apache.struts2.dispatcher.ServletDispatcherResult

    freemaker

    处理FreeMarker模板

    org.apache.struts2.views.freemarker.FreemarkerResult

    httpheader

    控制特殊HTTP行为的结果类型

    org.apache.struts2.dispatcher.HttpHeaderResult

    stream

    向浏览器发送InputSream对象,用来处理文件下载,还可用于返回AJAX数据

    org.apache.struts2.dispatcher.StreamResult

    velocity

    处理Velocity模板

    org.apache.struts2.dispatcher.VelocityResult

    xsl

    处理XML/XLST模板

    org.apache.struts2.views.xslt.XSLTResult

    plainText

    显示原始文件内容,例如文件源代码

    org.apache.struts2.dispatcher.PlainTextResult

    redirect

    重定向到一个URL ,被跳转的页面中丢失传递的信息,如request

    org.apache.struts2.dispatcher.ServletRedirectResult

    redirectAction

    重定向到一个Action ,跳转的页面中丢失传递的信息,如request

    org.apache.struts2.dispatcher.ServletActionRedirectResult

    redirect-action

    重定向到一个Action ,跳转的页面中丢失传递的信息,如request

    org.apache.struts2.dispatcher.ServletActionRedirectResult

     
    redirectredirect-action区别

    一、使用redirect需要后缀名使用redirect-action不需要后缀名

    二、type="redirect" 的值可以转到其它命名空间下的action,redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。如:

    <result name="success" type="redirect">viewTask.action</result>

    <result name="success" type="redirect-action">viewTask</result>

    3.path

    代表与result对应的处理程序(一般为显示页面或者某个Action),path可以通过<result>的文本值直接指定。

    4.全局result

    意思是说,当配置全局result的时候,所有的Action都可以使用。

           

    4. 4通配符配置Action

    4.4.1 Struts.xml截图

    4.4.2 UserAction截图

    4.4.3 页面命名方式截图

    4.4.4 浏览器输入规范和显示结果:

     

    4. 5多配置文件实现

    多人协作完成项目,因此,在Struts.xml文件中,利用<include>元素指定多个配置文件。

    注意事项:包名、命名空间唯一,不能相同。

    4. 6通过注释实现Action的零配置

    通过在类里面定义,实现零配置,hibernate里面使用会比较好,在Struts 还是建议用xml,因为比较快!  

    错误总结:

    有时候会显示找不到路径解决如下~

  • 相关阅读:
    1
    最大子串
    线段树
    mybatis分页插件
    springmvc下载文件
    获“领跑衫”感言
    finnal 评论 II
    用户使用报告
    事后诸葛亮会议 (尸体解剖)
    final阶段成员贡献分
  • 原文地址:https://www.cnblogs.com/FreshStudent/p/3631072.html
Copyright © 2011-2022 走看看