zoukankan      html  css  js  c++  java
  • struts2笔记

    package的名字不能重复
    extends可以继承其他的package
    abstract里面的action不生效
    namespace命名空间,默认命名空间,跟命名空间,
    访问action:/工程名字/命名空间/action名字
    -------------------------
    包含include分模块开发

    ----
    常量constant,修改方式有两种,properties方式,2.constant标签(struts.xml)

    1.Reqult type

    redirectAction重定向到一个action
    redirect:重定向到一个页面
    dispatcher:转发到JSP*(默认)
    chain,转发到action

    <result><param type="redirectAction">actionName</param></result>

    <result type="chain">
        <param type="actionName">actionName</param>
        <param type="namespace">/命名空间</param>
        <param type="method">methodName</param>
    </result>
    (记得去哪里查)

    获得共享对象的4种方法

    -------------------------------------------------------------------------

    intercept拦截器
    自定义拦截器
    intercept接口

    AbstractIntercept适配器

    MethodFilterIntercept粒度更细,可以排除一些不需要被拦截的方法,更加细致
    ---------------------------------------------------------------------------
    OGNL

    Struts2-core.......struts-tags.tld

    <@taglib prefix='s' uri="/struts-tags">引用标签

    <s:form action="", theme="simple">------------------ theme="simple"自己设置样式


    List---------------------
    <s:iterator value="hobby" value="h">
     <s:property value="h"/>
    </s:iterator>


    <s:debug></s:debug>   ---------值栈

    静态方法: <s:property value='@类名@方法()'>
    调用JDK中的静态方法JDK_Static  <s:property value='@@random()'/>
    调用JDK中的静态方法JDK_Static  <s:property value='@java.lang.Meth@random()'/>

    struts.xml中设置常量<constant name='' value=''/>
    ----------------------------------------------------
    List<Users> list=new ArrayList<String>();
    List<String> lv=new ArrayList<String>();
    Users u1=new Users("张三","123","男","false",lv);
    Users u2=new Users("张三","123","男","false",lv);
    Users u3=new Users("张三","123","男","false",lv);
    list.add().....
    调用List当中的某一个元素:
     1.---   List:  <s:iterator value="list" var="aa" status='n'>    ...设置步长n
     <s:property value="list[#n.index].username"/>
    </s:iterator>

    2---   List       <s:iterator value="list" var="uu" >    ...
     <s:property value='username'/>或${username}
    </s:iterator>

    -------------------------

    set?----

    Map?-------

    Action----Users-----Address

    List(Users)---Hobby(List)---------out

    ---------------------------------------------

      <s:optiontransferselect doubleList="" list="" doubleName="" label="权限">
     
      </s:optiontransferselect>


    -----------国际化

    国际化 i18n

    1.改常量
    <constant name="struts.custom.i18n.resources" value="globalMessage">    //在xml中配
    2.建立文件,取名字
    globalMessage_en_US.properties
    globalMessage_zh_CN.properties

    3.
    引入标签
    页面<s:text name="username"></s:text>

    ---------------------------------------

    <s radio="#{'男':'男','女':'女'}" vlue="'男'" name="">

    ----------------------验证框架

    *把公用的验证写在validate(),相当于全局变量,每次都先执行里面的验证

    1、验证框架,自动验证

    当做局部验证的时候不好用。

    验证文件xml的格式------loginAction-registerAction-validation.xml
    (注意,这里的registerAction值得不是Action执行的方法,而是action当中
    虚拟路径,我们可以通过method标签,满足调用局部方法的功能。

  • 相关阅读:
    pandas 读取excle ,迭代
    prettytable模块(格式化打印内容)
    Python开发丨这些面试题会不会难倒你
    python开发最受欢迎的十款工具
    语言组成
    运算符优先级
    Python 位运算符 逻辑运算符 成员运算符
    **算术运算符
    **Python数据类型转换
    字符串-数字-列表(转换)
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/3240742.html
Copyright © 2011-2022 走看看