Struts2讲义20(转载)

set

标签使用介绍

技术要点

本节代码具体介绍 set 数据 标签的使用方式介绍。

set 标签使用。

set 标签功能演示。

演示代码

使用 set 标签的 JSP 文件:

 

Java代码 Struts2讲义20(转载)
  1. <!------------ 文件名: setTag.jsp---------->   
  2. <body>   
  3.                    <s:bean name="model.Material" id="material">   
  4.                             <s:param name="materialName" value="' 进户门套油漆 '" />   
  5.                             <s:param name="mainbid" value="70" />   
  6.                             <s:param name="mount" value="200" />   
  7.                    </s:bean>   
  8.                    <s:set name="anotherMaterial" value="#material"></s:set>   
  9.                    <p>   
  10.                             <s:property value="#material.materialName" />   
  11.                    </p>   
  12.                    <p>   
  13.                             <s:property value="#material.mainbid" />   
  14.                    </p>   
  15.                    <p>   
  16.                             <s:property value="#material.mount" />   
  17.                    </p>   
  18. </body>   
<!------------ 文件名: setTag.jsp---------->
<body>
                   <s:bean name="model.Material" id="material">
                            <s:param name="materialName" value="' 进户门套油漆 '" />
                            <s:param name="mainbid" value="70" />
                            <s:param name="mount" value="200" />
                   </s:bean>
                   <s:set name="anotherMaterial" value="#material"></s:set>
                   <p>
                            <s:property value="#material.materialName" />
                   </p>
                   <p>
                            <s:property value="#material.mainbid" />
                   </p>
                   <p>
                            <s:property value="#material.mount" />
                   </p>
</body> 

 

功能演示如图 5.16

Struts2讲义20(转载)


5.16  set 标签范例图

代码解释

1 set 标签的功能是对一个变量指定一个值。 name 属性是对该变量名字的定义。 value 属性就是这个给该变量指定的值。如果不指定, Struts2 是自动将值栈中栈顶的值指定给它。还有 scope 属性,它表示的是类似 session request 这样的范围定义。也就是该变量被指定值后是在什么范围下才有效。( request session 知识在第二章中有介绍)。如果不指定它则该变量是放在值栈的 context 中。

2 )如代码所示,还是使用之前定义的材料这个 JavaBean 。笔者定义了一个“ anotherMaterial ”变量,然后将 material 值指定给这个变量。

url 标签使用介绍

技术要点

本节代码具体介绍 url 数据 标签的使用方式介绍。

url 标签使用。

url 标签功能演示。

演示代码

使用 url 标签的 JSP 文件:

 

Java代码 Struts2讲义20(转载)
  1. <!--------------- 文件名: urlTag.jsp-------------->   
  2.          <body>   
  3.                    <h3 align="left">   
  4.                             url 标签使用范例   
  5.                    </h3>   
  6.                    <h3 align="left">   
  7.                             action 由 value 属性指定,不显示全路径 URL   
  8.                    </h3>   
  9.                    <p>   
  10.                             <s:url value="actionTag.action">   
  11.                                      <s:param name="param" value="'frank'" />   
  12.                             </s:url>   
  13.                    </p>   
  14.                    <h3 align="left">   
  15.                             action 由 action 属性指定,显示全路径 URL   
  16.                    </h3>   
  17.                    <p>   
  18.                    <s:url action="actionTag">   
  19.                             <s:param name="param" value="'frank'" />   
  20.                    </s:url>   
  21.                    </p>   
  22.                    <h3 align="left">   
  23.                             value 、 action 属性同时指定,以 value 指定为准即不显示全路径 URL   
  24.                    </h3>   
  25.                    <p>   
  26.                    <s:url action="actionTag" value="actionTag.action">   
  27.                             <s:param name="param" value="'frank'" />   
  28.                    </s:url>   
  29.                    </p>   
  30.                    <h3 align="left">   
  31.                             <p>value 、 action 属性都不指定,则显示当前浏览器中 URL 内容。 </p>   
  32.                             <p> 若有参数定义则 URL 后以 “ ? ” 开头,使用 “ 参数名 = 参数值 ” 格式显示参数名和参数值 </p>   
  33.                    </h3>   
  34.                    <p>   
  35.                    <s:url includeParams="get">   
  36.                             <s:param name="param" value="'frank'" />   
  37.                    </s:url>   
  38.          </p>   
  39.          </body>   
<!--------------- 文件名: urlTag.jsp-------------->
         <body>
                   <h3 align="left">
                            url 标签使用范例
                   </h3>
                   <h3 align="left">
                            action 由 value 属性指定,不显示全路径 URL
                   </h3>
                   <p>
                            <s:url value="actionTag.action">
                                     <s:param name="param" value="'frank'" />
                            </s:url>
                   </p>
                   <h3 align="left">
                            action 由 action 属性指定,显示全路径 URL
                   </h3>
                   <p>
                   <s:url action="actionTag">
                            <s:param name="param" value="'frank'" />
                   </s:url>
                   </p>
                   <h3 align="left">
                            value 、 action 属性同时指定,以 value 指定为准即不显示全路径 URL
                   </h3>
                   <p>
                   <s:url action="actionTag" value="actionTag.action">
                            <s:param name="param" value="'frank'" />
                   </s:url>
                   </p>
                   <h3 align="left">
                            <p>value 、 action 属性都不指定,则显示当前浏览器中 URL 内容。 </p>
                            <p> 若有参数定义则 URL 后以 “ ? ” 开头,使用 “ 参数名 = 参数值 ” 格式显示参数名和参数值 </p>
                   </h3>
                   <p>
                   <s:url includeParams="get">
                            <s:param name="param" value="'frank'" />
                   </s:url>
         </p>
         </body> 

 

功能演示如图 5.17

Struts2讲义20(转载)


5.17  url 标签范例图

代码解释

1 url 标签的功能是生成一个 url 地址。 param 作为它的子标签定义了需要传递到 url HTTP 请求参数内容。它的属性比较多,笔者将自己认为最重要的几个属性通过代码示例介绍。

2 )如代码所示, value 属性是指定生成的 url 地址,但是它只显示指定的 Action jsp ,而并不是把 url 的全路径地址显示出来。而 action 属性则是指定 url 地址是哪一个 action ,然后将在 struts.xml 配置文件中该 action result 中指定的路径全部显示出来。如果同时显式定义 action value ,则 Struts2 是以 value 指定为准。如果都不显式定义,则以当前视图界面的 url 为指定生成的 url 地址。图 5.17 中红框选中的正是该 url ,可以从图中可知和最后一行打印出来的信息是相同的,并且通过 includeParams 属性将定义的参数值也显示了。

3 includeParams 属性是表明是否包含 HTTP 请求的参数,它的内容只能是 none get all 这三个。如代码所示,笔者定义的是 get 则该参数的值在图 5.17 中的几个小例子都已经显示出来了。

param

标签使用介绍

param 标签在前面这些标签介绍的代码中都有介绍,它可以作为很多标签的子标签来使用,当它作为子标签使用时候的功能是视每个标签具体功能而定。因此笔者为了介绍的完整性单独列出一小节记述,但并没有具体代码,图例介绍。

property

标签使用介绍

property 标签和上一小节介绍的 param 类似,前面的示例中都有代码演示。这里就没有具体代码、图例介绍。