Loading...
Struts2专题之三:Struts2 Tags标签库的使用

Struts2专题 2015/12/31 Struts2

国际惯例,在上一篇的基础之上继续

1、使用Struts2的tag标签库之前,需要在jsp页面的开头引入:<%@ taglib prefix="s" uri="/struts-tags" %>

2、<s:url action='hello'/>说明

在index.jsp中的代码<a href="<s:url action='hello'/>">Hello World</a>,在页面展示时鼠标移动到上面会显示带有“/hello.action”后缀的完整访问路径:http://localhost:8080/hello.action


点击该将链接执行struts.xml配置文件中的如下Action:

        <action name="hello" class="cn.imethan.web.struts2.HelloWorldAction" method="execute">
              <result name="success">/WEB-INF/view/HelloWorld.jsp</result>
        </action>

3、url tag标签设置参数

<s:url action="hello" var="helloLink">
  <s:param name="userName">Bruce Phillips</s:param>
</s:url>
 
<p><a href="<s:property value="helloLink"/>">Hello Bruce Phillips</a></p>

<s:property value="helloLink"/>展现出来的内容是带有“/hello.action?userName=Bruce+Phillips”后缀的完整访问路径:http://localhost:8080/hello.action?userName=Bruce+Phillips


4、form tag标签

<p>Get your own personal hello by filling out and submitting this form.</p> 
<s:form action="hello"> 
  <s:textfield name="userName" label="Your name" />     
   <s:submit value="Submit" /> 
</s:form>

上述内容在页面展现时会转换为如下:

<form id="hello" name="hello" action="/Using_Tags_Struts2_Mvn/hello.action;jsessionid=3471d76027b5342cab44f297b567" method="post">
 <table class="wwFormTable"> 
<tr>
    <td class="tdLabel"><label for="hello_userName" class="label">Your name:</label></td>
    <td><input type="text" name="userName" value="" id="hello_userName"/></td>
</tr> 
<tr>
    <td colspan="2"><div align="right"><input type="submit" id="hello_0" value="Submit"/>
</div></td>
</tr> 
</table>
</form>

5、property tag标签


package cn.imethan.web.struts2;
/**
 * MessageStore.java
 *
 * @author Ethan Wong
 * @since JDK 1.7
 * @datetime 2015年12月31日上午9:39:12
 */
public class MessageStore {
    private String message;
    public MessageStore() {
        setMessage("Hello Struts User");
    }
    public String getMessage() {
        return message;
    }
    public void setMessage(String message) {
        this.message = message;
    }
}

<s:property value="messageStore.message" />展示messageStore.message内容为:Hello Struts User

<s:property value="messageStore" />展示的信息为:cn.imethan.web.struts2.MessageStore@353272b9

重写类MessageStore的toString方法后:

    @Override
    public String toString() {
        return "MessageStore [message=" + message + "]";
    }

<s:property value="messageStore" />展示的信息为:MessageStore [message=Hello Struts User]


参考文档

http://struts.apache.org/docs/getting-started.html


Comments