zoukankan      html  css  js  c++  java
  • Struts2学习记录-Value Stack(值栈)和OGNL表达式

    仅仅是学习记录。把我知道的都说出来

    一。值栈的作用

    记录处理当前请求的action的数据。

    二,小样例

    有两个action:Action1和Action2
    Action1有两个属性:name和passwd
    Action2有两个属性:name2和passwd2
    请求从Action1进入。chain方法导向Action2
    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="default" namespace="/" extends="struts-default"> <action name="action1" class="com.geekgao.action.Action1"> <result type="chain"> <param name="actionName">action2</param> </result> </action> <action name="action2" class="com.geekgao.action.Action2"> <result> /welcome.jsp </result> </action> </package> </struts>

    welcome.xml:

    <%@ taglib prefix="s" uri="/struts-tags" %>
    <%--
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title></title>
    </head>
    <body>
        name:<s:property value="name"/><br>
        passwd:<s:property value="passwd"/><br>
        locale:<s:property value="locale"/>
        <s:debug></s:debug>
    </body>
    </html>

    三,訪问

    訪问的路径:http://localhost:8080/Struts2OGNL/action1?

    name=nn&passwd=pp
    Struts2OGNL是项目名称
    以下是值栈截图:
    值栈
    注意到,我们连接中给了的值都已经出如今值栈中了,即name和passwd。还有我们发现这明显是一个栈,谁先调用谁在以下,当我们取值的时候,是从栈顶開始向下搜索,首先找到的那个值就是终于结果。

    jsp中取值的方法:

    name:<s:property value="name"/><br>
    passwd:<s:property value="passwd"/><br>
    locale:<s:property value="locale"/>

    依据名称取值,value是OGNL表达式,即对象图形导航语言,就是依据这个表达式找到一个对象。
    假设一个对象的属性有一个类,比如User user。User有name和passwd属性,那么能够这样传參:
    http://localhost:8080/Struts2OGNL/action1?

    user.name=nn&user.passwd=pp
    而且能够这样取值:

    name:<s:property value="user.name"/><br>
    passwd:<s:property value="user. passwd"/><br>
    locale:<s:property value="locale"/>

    当然,还能够直接用对象调用方法。比如以下的代码:

    <s:property value="user.toString()"/>

    其余的使用方法,看以下这张图,就不一一总结了。这个图是视频中截下来的,以后有问题了来看看,查查,应该就会使用了。
    OGNL表达式

  • 相关阅读:
    vSan中见证组件witness详解
    zabbix监控企业esxi虚拟机
    新特性之MAPI over HTTP 配置 MAPI over HTTP
    Exchange Server 产品路线图 及 补丁下载
    人生的第一桶金
    这不是我想要的生活,努力才是王道!
    孤独的灵魂该去何处安家
    如何查看myeclipse是否激活
    Visual Studio 2013如何破解(密钥激活)
    unity破解步骤
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8669188.html
Copyright © 2011-2022 走看看