zoukankan      html  css  js  c++  java
  • Struts2标签

    1 struts2的UI标签

    导入struts2的标签库

    1 <%@ taglib prefix="s" uri="/struts-tags"%>
     1 <div>
     2     用户名:
     3     <s:textfield name="uname"></s:textfield>
     4 </div>
     5 <div>
     6     密 码:
     7     <s:password name="upwd"></s:password>
     8 </div>
     9 <!-- #用来定义ognl表达式 -->
    10 <div>
    11     性 别:
    12     <s:radio list="#{1:'男',2:'女'}" name="sex"></s:radio>
    13 </div>
    14 <div>
    15     爱 好:
    16     <s:checkboxlist list="#{1:'吃',2:'喝',3:'拉',4:'撒'}" name="hobby"></s:checkboxlist>
    17 </div>
    18 <!-- listKey="属性" listValue="属性" -->
    19 <div>
    20     城 市:
    21     <s:select list="#request.clist" listKey="cid" listValue="cname"></s:select>
    22 </div>
    23 <div>
    24     简 介:
    25     <s:textarea name="intro" cols="30" rows="5"></s:textarea>
    26 </div>
    27 <div>
    28     头 像:
    29     <s:file name="img"></s:file>
    30 </div>
    31 <div>
    32     <s:submit></s:submit>
    33     <s:reset></s:reset>
    34 </div>

    2 ognl表达式

    El:表达式,完成web对象中数据的访问

    Ognl:对象图形导航语言(属性链 a.b.c),struts2框架 的表达式语言,必须集

    struts2的标签进行使用

    2.1 Action的上下文

    ActionContext为Action的上下文对象,本质就一个Map集合

    每次请求会创建一个Action的对象,而与Action关联的有一个ActionContext对象

    ActionContext和当前线程是进行了绑定的(只要服务器创建一个线程对象,就会绑定一个ActionContext对象)

    Struts2中的Action是线程安全的。Action是多例的。

    Ognl表达式是为访问Action的上下文对象(Map)

    ValueStack:是被默认的访问的对象,如果需要访问Map中的数据必须明确指定

    ActionContext:ognl表达式访问该对象

          ——root(valueStack,被默认访问的饿对象)

          ———request

          ———session

          ———application

          ———attr

          ———paramters 

    总结:

    Action是多例,而且线程安全

    Ation的上下文对象的结构:

          ----valutStack

          ———request

          ———session

          ———application

          ———attr

          ———paramters

    Ognl就是struts2用来访问ActionContext的,ActiontContext保存了当前Action的对象,与Action相关的错误信息,客户端请求的参数

    2.2 ognl表达式的使用

     访问默认的valuestack

     <s:property value=”ognl”/>

     访问Map(Stack Context)

     <s:property value=”#ognl”/>

     <s:property value=”#session.key”/>

     <s:property value=”#request.key”/>

     <s:property value=”#application.key”/>

     <s:property value=”#attr.key”/>

     <s:property value=”#paramters.uname”/>

     访问静态属性

     <s:property value=”@java.lang.Integer@MAX_VALUE”/>

     调用静态方法

    <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>

     <s: property value=”@java.lang.Integer@parseInt(‘123’)”/>

     调用Action的方法

     <s: property value=”sayHi(‘xxxxx’)”/>

     使用ognl表达式能访问的数据使用el表达式通用可以访问

    Jstl+el

    Strutstag+ognl+el(只能用在数据的显示,不能作为strutstag的属性值出现):

     Ognl中的其他符号  %  , $

    2.3 struts2的逻辑标签

     1 <s:iterator value="#ulist" var="uu" status="st">
     2     <s:if test="#st.index%2==0">
     3         <div style="background-color: red">
     4             <s:property value="#st.index" />
     5             ==
     6             <br />
     7             <s:property value="#uu.uname" />
     8             --
     9             <br /><!-- 默认访问栈顶 -->
    10             ${uu.uname }----el
    11             <br />
    12         </div>
    13     </s:if>
    14     <s:else>
    15         <div style="background-color: yellow">
    16             <s:property value="#st.index" />
    17             ==
    18             <br />
    19             <s:property value="#uu.uname" />
    20             --
    21             <br /><!-- 默认访问栈顶 -->
    22             ${uu.uname }----el
    23             <br />
    24         </div>
    25     </s:else>
    26 </s:iterator>

    3 struts2数据回显 

    在数据的录入界面,当提交的时候,有错误数据存在,返回该页面的时候数据不能全部消失。

    数据更新的更新。

  • 相关阅读:
    遍历文件下所有文件
    访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)
    UV,IP,PV
    vector list deque
    mailto: HTML e-mail 链接
    freemarker 用template快速构造XML
    Oracle varchar2 length 分析
    Flex grid 复杂表头
    Oracle 动态设置SEQUENCE startwith 的值
    ssh和ssh2之间的免密码登陆详解
  • 原文地址:https://www.cnblogs.com/guanghe/p/6067079.html
Copyright © 2011-2022 走看看