如何在jsp页面中使用struts2标签

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在jsp页面中使用struts2标签相关的知识,希望对你有一定的参考价值。

要在jsp中使用struts2.0的标签,首先要在页面使用taglib指令,将struts2的tld文件导入
<%@taglib prefix="s" uri="/struts-tags"%>

 struts2的标签主要分为两大类:

    UI标签  这个几乎不怎么用就不介绍了

    非UI标签

     if,elseif和else
                 <s:if test="link_type == 1"> //只有当test的的值为true时,才会执行if语句块里面的内容
                       文字
                    </s:if> 
                    <s:elseif test="link_type == 2"> 
                       图片
                    </s:elseif> 
                     <s:else> 
                     -----
                   </s:else>  
                  迭代标签的使用
                  iterator描述:
                   用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。 
                   <ol> 
                   <s:iterator value="#request.names" status="stuts">                 
                      <s:if test="#stuts.odd == true"> //判断取出数据的奇偶性
                      <li>White <s:property /></li> 
                      </s:if> 
                      <s:else> 
                      <li style="background-color:gray"><s:property /></li> 
                      </s:else> 
                      </s:iterator> 
                    </ol> 
                   上述代码的显示效果就是相邻的两行颜色是区分开来的
                    
                  URL地址标签,<s:url>用于生成一个URL地址,可以通过URL标签指定的<s:param>
                  子元素向URL地址发送请求参数 
          <s:url action=" "> 
          <s:param name=" " value=""></s:param> 
          </s:url>

                    超链接 <a href >一般和<s:url>标签一起使用,用于带多个参数。 
    <a href=" 
    <s:url action=" "> 
    <s:param name=" " value=""></s:param> 
    <s:param name=" " value=""></s:param> 
    <s:param name=" " value=""></s:param> 
    </s:url>"> 
    链接到...
                    </a> 


                    set标签,用于将某个值放入指定的范围内。例如application,session等。 
    <s:set name="user" value="userName" scope=”request”/> 
     
              Struts2页面开发中常用标签使用规范: 
    2.1.通过<input name="userName" type="text" class=" " size="15"> 
    往action中传值,action中要有相应的属性,并提供SET/GET方法。 
    (在数量少时可以使用request.getParameter(“userName”);) 

    2.2.在页面显示action传来的数据,使用property标签。需要显示的数据从action中获得。 

    2.3.往action中的实体对象内传值,使用textfield标签。 

    2.4.在页面中判断指定值使用<s:if>标签。判断数据从action中获得。 

    2.5.在页面中需要循环列表显示的数据使用<s:iterator>标签,列表数据从action中获得。 

    2.6.URL地址和超链接可以使用<a href>和<s:url>,在传多值时建议<a href>和<s:url>一起使用 

参考技术A

在jsp页面中使用struts2标签的方法是在jsp页面上引入<%@ taglib prefix="s" uri="/struts-tags" %>的struts2标签库。

拓展:

1、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。

2、Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

3、2000年5月发展至今,Struts1已经成为了一个高度成熟的框架,不管是稳定性还是可靠性都得到了广泛的证明。市场占有率超过20%,拥有丰富的开发人群,几乎已经成为了事实上的工业标准。但是随着时间的流逝,技术的进步,Struts1的局限性也越来越多地暴露出来,并且制约了Struts1的继续发展。

参考技术B 在jsp页面中使用struts2标签的方法是在jsp页面上引入<%@ taglib prefix="s" uri="/struts-tags" %>的struts2标签库。
1、完整的index.jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html >
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Basic Struts 2 Application - Welcome</title>
</head>
<body>
<h1>欢迎使用 Struts 2</h1>
<p><a href="<s:url action='hello'/>">Hello World</a></p>
</body>
</html>
2、struts.xml配置:

<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.jsp</result>
</action>
这样就可以点击 Hello World跳转到HelloWorld.jsp页面了。

以上是关于如何在jsp页面中使用struts2标签的主要内容,如果未能解决你的问题,请参考以下文章

用struts2标签在jsp页面中取得list的第一个元素

struts2 jsp如何获取action值

struts2的action中有两个list集合,如何在页面中取得

struts2标签库

如何在不提交表单的情况下使用struts2提交标签作为按钮?

Struts2学习总结