• 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标签,满足调用局部方法的功能。

  • 相关阅读:
    为什么 PCB 生产时推荐出 Gerber 给工厂?
    Fedora Redhat Centos 有什么区别和关系?
    【KiCad】 如何给元件给元件的管脚加上划线?
    MCU ADC 进入 PD 模式后出现错误的值?
    FastAdmin 生产环境升级注意
    EMC EMI 自行评估记录
    如何让你的 KiCad 在缩放时不眩晕?
    KiCad 5.1.0 正式版终于发布
    一次单片机 SFR 页引发的“事故”
    java基础之集合
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/3240742.html
Copyright © 2020-2023  润新知