struts2标签库详解(一)非UI标签之数据访问标签

2.2 数据访问标签

数据访问标签用来访问在valueStack中的数据,从而完成数据访问的相关功能

>action

Action标签用来在jsp文件中调用action,通过指定executeResule属性来判断是否在页面中包含处理结果对应的视图资源。

ActionTagAction.java


package com.mycom.action;

 

import com.opensymphony.xwork2.ActionSupport;

 

publicclass ActionTagAction extends ActionSupport {

    private String uName;

    private String uPassword;

    public String getUName() {

       returnuName;

    }

    publicvoid setUName(String name) {

       uName = name;

    }

    public String getUPassword() {

       returnuPassword;

    }

    publicvoid setUPassword(String password) {

       uPassword = password;

    }

    @Override

    public String execute() throws Exception {

      

       if(uName.equals("hello")&&uPassword.equals("world"))

           returnSUCCESS;

       returnERROR;

    }

}

 

配置action在struts.xml中


<action name="actionTagAction" class="com.mycom.action.ActionTagAction">

           <result name="success">actionTag_success.jsp</result>

           <result name="error">actionTag_input.jsp</result>

</action>


创建action处理结果对应的视图资源actionTag_success.jsp,actionTag_input.jsp,actionTag_success.jsp

actionTag_success.jsp


<h1>登陆成功</h1>

<s:property value="uName"/>

<s:property value="uPassword"/>

actionTag_input.jsp


<h1>登陆失败</h1>

<s:property value="uName"/>

<s:property value="uPassword"/>

创建actionTag.jsp文件通过标签action来调用action


<body>

    <s:action name="actionTagAction" executeResult="true" ></s:action>

    <p>ignoreContextParams="true" 是否将传过来的请求参数传给调用的action</p>

    <p>executeResult="true" 是否将action处理的结果视图资源等包含到当前页面</p>

    <hr />

    <s:action name="actionTagAction" executeResult="true" ignoreContextParams="true" ></s:action>

    <p>ignoreContextParams 是否将传过来的请求参数传给调用的action</p>

    <p>executeResult="true"  是否将action处理的结果视图资源等包含到当前页面</p>

    <hr />

    <s:action name="actionTagAction" executeResult="false" ignoreContextParams="false"></s:action>

    <p>ignoreContextParams="false" 是否将传过来的请求参数传给调用的action</p>

    <p>executeResult="false" 是否将action处理的结果视图资源等包含到当前页面</p>

  

<hr />

 

    <s:action name="actionTagAction" executeResult="false" ></s:action>

    <p>ignoreContextParams 是否将传过来的请求参数传给调用的action</p>

    <p>executeResult="false" 是否将action处理的结果视图资源等包含到当前页面</p>

   

    </body>


 

在IE中输入http://localhost/strutstag/actionTag.jsp?uName=hello&uPassword=world得结果


 

>bean标签用来在jsp中创建javaBean实例,通过prama可以给创建的javabean实例传递属性值,创建的javabean通过指定var来引用bean


<s:generator separator="," val="%{'aaaa,bbbb,cccc'}" count="3" converter="myConverter"> <!—调用javabean>

<s:beanname="com.mycom.action.MyConverter"  var="myConverter"></s:bean> <!—创建javabean>

>date标签:格式化输出data标签

>dubug标签:打印valueStack中的键值对。Outputsthe content of the Value Stack。


<body>


    <s:bean name="java.util.Date" var="date"></s:bean>

   

    <s:date name="date" format="yyyy/MM/dd hh:mm"/><br/>

    <s:date name="date"/><br/>

    <s:date name="date" format="dd/MM/yyyy" nice="true"/><br/>

   

    <s:debug></s:debug>

   

  </body>


结果


 

>i18n标签:国际化资源标签

>text标签:得到国际化的资源

例子:在struts中写以下文件

国际化资源文件

I18ntest_en_US.properties文件

hello=hello:i18n

I18ntest_zh_CN.properties文件

Hello=你好:国际化

struts.properties文件

Struts.customer.i18n.resources=i18ntest

或在struts2.xml中配置constant也可。

I18nAndTextTag.jsp


<body>

    <p>text标签拿到国际化资源</p>

    <s:text name="hello"></s:text><br>

   

    <hr/>

   

    <p>i18n标签拿到国际化资源</p>

    <s:i18n name="i18ntest">

    get the i18n message:<s:property  value="%{getText('hello')}"/>

    </s:i18n>

       

    <hr/>

   
    <p>在标签中使用%{getText('hello')}拿到国际化资源</p>

    <s:property  value="%{getText('hello')}"/>

   

  </body>

没删除struts.properties文件的运行结果。


删除struts.properties文件的运行结果

 


>include标签:可以包含另一个jsp或servlet页面进来,通过prama标签可以给另一个页面传递参数

IncludeTag.jsp


<s:include value="includeTagTest.jsp">

       <s:param name="user" value="xiao"></s:param>

       <s:param name="ps" value="123456"></s:param>

    </s:include>


incluedTagTest.jsp


<body>

<h1>被包含的includeTagTest.jsp页面</h1>

<hr/>

    user:${user } <br/>

    ps:${ps }

  </body>


运行includeTag.jsp。


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值