zoukankan      html  css  js  c++  java
  • Struts

    Struts全区配置

    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>
    
    
        <package name="day05" namespace="/" extends="struts-default">
            <action name="*_*" class="com.struts.pattern.{1}" method="{2}">
                <result name="{2}">
                    /{1}/{2}.jsp
                </result>
            </action>
        </package>
    
    </struts>

    {1}:为类名

    {2}:为方法名

    Action代码

    public class LoginAction07 extends ActionSupport {
    
        public String list(){
            return "list";
        }
    
        public String add(){
            return "add";
        }
    
    }

    映射JSP页面

    文件夹为Action名,jsp为方法名

    Struts result类型配置

    type 类型 :(在struts2-core.jar/struts-default.xml中可以找到)

    Type 类型值

    作用说明

    对应类

    chain

    用来处理Action 链

    com.opensymphony.xwork2.ActionChainResult

    dispatcher(默认值)

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

    org.apache.struts2.dispatcher.ServletDispatcherResult

    redirect

    重定向到一个URL

    org.apache.struts2.dispatcher.ServletRedirectResult

    redirectAction

    重定向到一个 Action

    org.apache.struts2.dispatcher.ServletActionRedirectResult

    plainText

    显示源文件内容,如文件源码

    org.apache.struts2.dispatcher.PlainTextResult

    freemarker

    处理 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

    xslt   

       处理 XML/XLST 模板

     org.apache.struts2.views.xslt.XSLTResult

     

    默认为Dispatcher(转发)

    <package name="day04" namespace="/" extends="struts-default">
            <action name="list" class="com.struts.action.LoginAction07">
                <result name="list">
                    /04/list.jsp
                </result>
            </action>
        </package>

    redirect(重定向)

    <package name="day04" namespace="/" extends="struts-default">
            <action name="list" class="com.struts.action.LoginAction07">
                <result type="redirect" name="list">
                    /04/list.jsp
                </result>
            </action>
        </package>

    Chain(动作链跳转)从一个action发往另一个action

    <package name="day06" namespace="/" extends="struts-default">
    
            <action name="add" class="com.struts.pattern.PatternAction02" method="add">
                <result name="add" type="chain">
                    <param name="actionName">list</param>
                    <param name="namespace">/</param>
                </result>
            </action>
    
            <action name="list" class="com.struts.pattern.PatternAction02" method="list">
                <result name="list">
                    /PatternAction/list.jsp
                </result>
            </action>
    
        </package>

    OGNL与值栈

    OGNL:Object Graph Navigation Language  对象导航图语言

    开源项目,取代页面中Java脚本,简化数据访问

    EL同属于表达式语言,但功能更为强大

    让我们通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方法,遍历整个对象的结构图,实现字段类型转换等功能。

    OGNL在Struts2中的作用

         表达式语言

      将表单或Struts2标签与特定的java数据绑定起来,用来将数据移入、移出框架

     类型转换

      数据进入和流入框架,在页面数据的字符串类型和java数据类型之间进行转换

    值栈与OGNL

    值栈(ValueStack)

    Struts 2框架创建的存储区域,具有栈的特点

    Action的实例会被存放到值栈中

    OGNL访问值栈

    按照从上到下的顺序,靠近栈顶的同名属性会被读取

     

     

       

  • 相关阅读:
    python正则表达式
    装饰器和生成器和迭代器
    进一步认识函数
    python:关于函数的初认识
    python的 随手记----字符编码与转码
    python:元祖与字典与集合的粗浅认识
    python:模块导入之浅认识
    java socket编程
    Spring框架下的单元测试方法
    ModelDriven机制及其运用
  • 原文地址:https://www.cnblogs.com/javahenku/p/9974457.html
Copyright © 2011-2022 走看看