struts tags详解之<s:bean>

Description

    Bean标签,当然需要一个JavaBean。它的属性值的操作是经由Bean标签中的参数属性来进行赋值。当然,它还有一个id属性可以进行赋值,这样就可以在上下文中使用这个Bean

如果在BeanTag中设置了var属性值,那么它将把实例化后的bean放入到stack's Context中。

Parameters

名称

必需

数据类型

描述

Id

False

String

已弃用,var代替

Name

true

String

bean的实例化类的名称(必须遵循JavaBean规范)

Var

False

String

用于引用到Value Stack中的值的名称

Examples

1 <-- in jsp form -->
2 <s:bean name="org.apache.struts2.example.counter.SimpleCounter" var="counter">
3 <s:param name="foo" value="BAR" />
4 The value of foot is : <s:property value="foo"/>, when inside the bean tag
5 </s:bean>

这个例子实例化了一个名叫SimpleCounter的bean,并设置foo属性(setFoo(‘BAR’))。然后将SimpleCounter对象压入值栈(Valuestack)中,这意味着我们可以调用property tag的访问方法(getFoo())来得到它的值。

在上面的例子中,id的属性值已经设为counter,这意味着SimpleCounter对象压入值栈(Valuestack)后可以通过如下标签来访问它:

1 <-- jsp form -->
2 <s:property value="#counter" />

1.WebRoot/pages/dataTags/beanTag.jsp,代码如下:

 1 <%@ page contentType="text/html; charset=GBK" %>
2 <%@ taglib prefix="s" uri="/struts-tags" %>
3 <html>
4 <head>
5 <title>Bean Tag 示例</title>
6 </head>
7 <body>
8 <h2>Bean Tag 示例</h2>
9 <s:bean name="com.sterning.companyName" id="uid">
10 <s:param name="name">sterning</s:param>
11 <s:property value="%{name}" /><br>
12 </s:bean>
13 </body>
14 </html>

其关联的JavaBean是com.sterning.companyName,同时参数name赋值为sterning。

2.首先创建Action进行跳转, src/com/sterning/beanTag.java,代码如下:

package com.sterning;
import com.opensymphony.xwork2.ActionSupport;
public class beanTag extends ActionSupport {
public String execute() throws Exception{
return SUCCESS;
}
}

  

然后创建JavaBean,src/com/sterning/companyName.java,代码如下:

 1 package com.sterning;
2 public class companyName {
3 private String name;
4 public void setName(String name){
5 this.name =name ;
6 }
7 public String getName(){
8 return name;
9 }
10
11 }

  

3.Struts.xml的配置

这里配置很简单,与前面的例子差不多。

1 <action name="beanTag" class="com.sterning.beanTag">
2 <result name="success">/pages/dataTags/beanTag.jsp</result>
3 </action>

运行结果如下:

struts2 tags详解之<s:property>

Description

用于获取一个属性的值。Property顾名思义,可以与<s:bean>标签结合使用,一个是给bean赋值,一个是从bean中读取值。

Examples

 <s:push value="myBean">
<!-- Example 1: -->
<s:property value="myBeanProperty" />
<!-- Example 2: -->TextUtils
<s:property value="myBeanProperty" default="a default value" />
</s:push>

result:

Example 1 prints the result of myBean's getMyBeanProperty() method.
Example 2 prints the result of myBean's getMyBeanProperty() method and if it is null, print 'a default value' instead.

Struts2 tags详解之<s:set>

Set标签比较简单。Set标签用户将某一值赋给某一变量,因此,任何对该项值的引用都可以通过该变量来得到该值。该变量的活动范围可自定义。如下例中,定义一健/值对,对值的引用,直接引用值就可以。。请看示例

1.WebRoot/pages/dataTags/ setTag.jsp

 <%@ page contentType="text/html; charset=GBK" %>

 <%@ taglib prefix="s" uri="/struts-tags" %>

 <html>

        <head>

               <title>Set Tag 示例</title>

        </head>

        <body>

               <h2>Set Tag 示例</h2>

                      <s:set name="technologyName" value="%{'Java'}"/>

                             Technology Name: <s:property value="#technologyName"/>

        </body>

 </html> 

2.Struts.xml配置

   <action name="setTag">

          <result>/pages/dataTags/setTag.jsp</result>

    </action>

3.运行效果

Struts tags--Data tags的更多相关文章

  1. Vue - 内部指令

    1.插值 A:<span>TEXT:{{text}}</span> {{text}}会被相应的数据类型text属性值替换,当text值改变时候,文本中的值也会相应的发生变化 B ...

  2. vue学习笔记之v-for与-repeat

    今天看到一个v-repeat的例子 <body> <ul id="tags"> <li v-repeat="tags"> { ...

  3. matplotlib读取csv文件

    一,从本地加载csv文件 from matplotlib import pyplot as pltimport numpy as npimport csv#用来正常显示中文标签plt.rcParams ...

  4. BERT-Pytorch版本代码pipline梳理

    最近在做BERT的fine-tune工作,记录一下阅读项目https://github.com/weizhepei/BERT-NER时梳理的训练pipline,该项目基于Google的Transfor ...

  5. 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  6. Helpers\Tags

    Helpers\Tags The tags helper is a collection of useful methods: Tags::clean($data) Clean function to ...

  7. jQuery Tags Input 插件显示选择记录

    利用jQuery Tags Input 插件显示选择记录 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采 ...

  8. (转)基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录

    http://www.cnblogs.com/wuhuacong/p/3667703.html 最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开 ...

  9. Building Applications with Force.com and VisualForce (DEV401) (二十):Visualforce Pages: Visualforce Componets (Tags)

    Dev401-021:Visualforce Pages: Visualforce Componets (Tags) Module Agenda1.Tag Basics2.Tag Bindings T ...

  10. Building Applications with Force.com and VisualForce(Dev401)(十九):Visualforce Pages: Visualforce Componets (Tags)

    Dev401-020:Visualforce Pages: Visualforce Componets (Tags) Module Agenda1.Tag Basics2.Tag Bindings T ...

随机推荐

  1. centos部署supervisor

    #!/bin/bash yum -y install python-setuptools ping pypi.python.org -c 4 >/dev/null 2>&1 eas ...

  2. ubuntu16安装squid代理服务器

    如果有一台电脑可以上网,想让其他电脑通过代理上网.可以使用这种方法. 1 安装squid sudo apt-get update sudo apt-get install squid 2 修改配置文件 ...

  3. 深入理解 Session 与 Cookie

    Session 与 Cookie 的作用都是为了保持访问用户与后端服务器的交互状态.它们有各自的优点,也有各自的缺陷,然而具有讽刺意味的是它们的优点和它们的使用场景又是矛盾的.例如,使用 Cookie ...

  4. xdebug 安装及使用规则

    参考:http://blog.csdn.net/21aspnet/article/details/7047191 http://www.nowamagic.net/librarys/veda/deta ...

  5. JS正则表达式获取分组内容实例

    JS正则表达式获取分组内容. 支持多次匹配的方式: var testStr = "now test001 test002"; var re = /test(\d+)/ig; var ...

  6. mysql执行计划介绍

    简单讲讲mysql的执行计划,只列出了一些常见的情况,希望对大家有所帮助   烂sql不仅直接影响sql的响应时间,更影响db的性能,导致其它正常的sql响应时间变长.如何写好sql,学会看执行计划至 ...

  7. SQL SEREVR IO

    Designing High Performance I/O Systems for SQL Server https://sqlbits.com/Downloads/86/Designing%20I ...

  8. Oracle某些功能实现语句处理方法

    触发器以及序列CREATE OR REPLACE TRIGGER t_MSTB_BDS_DATA BEFORE INSERT ON MSTB_BDS_DATA FOR EACH ROW DECLARE ...

  9. nyoj311 完全背包 经典背包问题

    完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用.第i种物品的体积是c,价值是w. ...

  10. LeetCode: Surrounded Regions 解题报告

    Surrounded Regions Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A ...