Struts 标签 —— Bean 标签
提供了大量的自定义的标签库,通过标签库可以简化JSP 的页面代码开发。
<jsp:useBean id="对象名称" scope="保存范围(四种属性范围)" class="包.类"/>
<jsp:setProperty name="id (jsp:useBean 中使用)" property="属性"/>
<jsp:getProperty name="id" property="属性"/>
一般对象都使用“id”进行表示
如果要使用对象,在标签通过“name ”属性完成的
在 Struts 中提供了一系列的与JavaBean 有关的操作标签,称为Bean 标签。
1.1、<bean:define>标签
定义或复制一个对象的
定义对象一般为 String 类型。
复制对象
<h1><bean:write name="str"/></h1>
</body>
</html:html>
· id :就表示一个存放在四种属性范围之中的名称
· name :表示使用一个存放在四种属性范围中的对象
·求出长度:数组、Collection、Map
标签肯定数据存放在四种属性范围之中。
输出Map 的长度:
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<%
Map m = new HashMap() ;
m.put("one","1") ;
m.put("two","2") ;
m.put("three","3") ;
request.setAttribute("namemap",m) ;
%>
<bean:size id="len" name="namemap" scope="request"/>
<h1>长度是:${len}</h1>
</body>
</html:html>
<%@ page language="java" pageEncoding="GB2312"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<%
Collection col = new ArrayList() ;
col.add("MLDN") ;
col.add("lxh") ;
col.add("mole") ;
request.setAttribute("namecol",col) ;
%>
<bean:size id="len" name="namecol" scope="request"/>
<h1>长度是:${len}</h1>
</body>
</html:html>
打印对象,也可以打印对象中的属性。
在JSP 2.0 中可以使用EL 代替 Struts 中的<bean:write>标签
<%@ page import="java.util.*"%>
<%@ page import="org.lxh.tag.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<%
SimpleBean simple = new SimpleBean() ;
simple.setName("魔乐") ;
simple.setPassword("www.mldn.cn") ;
// 将此对象保存在属性范围之中
request.setAttribute("sim",simple) ;
%>
<h1>使用EL:</h1>
<h2>姓名:${sim.name}</h2>
<h2>密码:${sim.password}</h2>
<h2>姓名:<bean:write name="sim" property="name" scope="request"/></h2>
<h2>密码:<bean:write name="sim" property="password" scope="request"/></h2>
</body>
</html:html>
<%@ page import="java.util.*"%>
<%@ page import="org.lxh.tag.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<jsp:useBean id="sim" class="org.lxh.tag.SimpleBean" scope="request"/>
<jsp:setProperty name="sim" property="name" value="魔乐"/>
<jsp:setProperty name="sim" property="password" value="www.mldn.cn"/>
<h2>姓名:${sim.name}</h2>
<h2>密码:${sim.password}</h2>
<h2>姓名:<bean:write name="sim" property="name" scope="request"/></h2>
<h2>密码:<bean:write name="sim" property="password" scope="request"/></h2>
</body>
</html:html>
结论:只要是标签,在程序开发中就可以互相调用,所有的标签基本上都是对四种属性范围的操作。
Struts 国际化
Struts 中存在一个资源文件(用于保存所有的错误消息)
# Resources for parameter 'org.lxh.struts.ApplicationResources'
# Project TagDemo
<%@ page import="java.util.*"%>
<%@ page import="org.lxh.tag.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<body>
<bean:message key="welcome"/>
</body>
</html:html>
希望显示如下效果:
<%@ page import="java.util.*"%>
<%@ page import="org.lxh.tag.*"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<html:html lang="true">
<head>
<title>BeanDemo01.jsp</title>
</head>
<bean:message key="welcome" arg0="李兴华"/>
</body>
</html:html>
例如以下一种情况:
有一套程序,此程序完成之后要同时供7 个国家的用户访问,那么该怎么做?
·针对每一个国家的语言完成一套代码
·将所有国家的语言单独保存在一个文件中,用户使用程序会根据自己的国家自动选择出语言,
而程序代码只有一套。(推荐)
所有的内容通过<bean:message>输出,之后所有的语言,单独形成一个*.properties 文件。
# Resources for parameter 'org.lxh.struts.ApplicationResources'
# Project TagDemo
welcome = <h1>/u6b22/u8fce {0}
/u5149/u4e34/u9b54/u4e50/u5728/u7ebf/uff01/uff01/uff01</h1>
name = /u7528/u6237/u540d/uff1a
# Resources for parameter 'org.lxh.struts.ApplicationResources'
# Project TagDemo
welcome = <h1>/u6b22/u8fce {0}
/u5149/u4e34/u9b54/u4e50/u5728/u7ebf/uff01/uff01/uff01</h1>
转载于:https://blog.51cto.com/zorro/611917
Struts 标签 —— Bean 标签相关推荐
- spring中默认标签Bean标签解析一
在Spring种有两种标签,一种是默认标签,另一种是自定义标签.对两种标签的用法和解析方式存在着很大的不同. 首先分析的是默认标签的解析过程. 解析标签的入口代码 protected void par ...
- Struts1.x系列教程(6):Bean标签库
Bean标签库共有11个标签.这些标签可以完成如下五种工作: 1. 获得HTTP请求信息 2. 访问Java对象 3. 访问JSP内嵌对象和Struts配置对象 4 ...
- Android标签库,JSP Struts之HTML标签库详解 _Android/移动互联网/物联网/_夜鹰教程网...
标签库 说明 HTML 标签 用来创建能够和 Struts 框架和其他相应的 HTML 标签交互的 HTML 输入表单 Bean 标签 在访问 JavaBeans 及其属性,以及定义一个新的 bean ...
- Struts 2 常用标签总结
(1):<s:textfield> ---- 文本输入框? 使用:<s:textfield name="实体Bean.属性"></s:textfiel ...
- (五)struts之taglib标签
关于taglib的标签使用,我倒是不太喜欢,本人更倾向于使用JSTL的标签,不过struts标签一点好处就是:struts标签 能够和struts-config.xml, ActionForm等特有的 ...
- struts配置文件没有标签提示
2019独角兽企业重金招聘Python工程师标准>>> struts配置文件没有标签提示 原因:" http://struts.apache.org/dtds/struts ...
- Spring中bean标签的属性和值:
Spring中bean标签的属性和值: <bean name="user" class="com.pojo.User" init-method=" ...
- php javabean对象,Struts2 bean标签:创建并示例化一个JavaBean对象
bean 标签也是一个十分常用的标签,它与 JSP 中的 动作类似,主要用于创建并示例化一个 JavaBean 对象,对于 JavaBean 中的属性可以通过 param 标签对其赋值. 语法: // ...
- struts2的bean标签和set标签
<s:bean>标签:用于在jsp页面创建javabean实例,可以使用<s:param>传入参数. name:指定实例化javabean的实现类 id:实例化对象的名字 &l ...
- Spring bean 标签加载、解析过程分析
概述 上一篇[Spring 加载.解析applicationContext.xml 流程]分析了从xml文件加载到开始解析xml里面的标签为止,基本都是跟spring 真正的核心没什么关系. 这篇我们 ...
最新文章
- Java学习笔记16
- python定义一个字典、存储雇员号和姓名_【一点资讯】python后端开发工程师考证试题...
- Opportunity的chance of success的赋值逻辑
- python实现批量更改xml文件中内容替换
- JSP自定义标签由浅到深讲解
- 页面缓存 OutputCache
- Hive ntile函数
- 计算机软件怎么共享使用,局域网共享软件,教您局域网共享软件如何使用
- 考虑SOC蓄电池 双向DC/DC 充放电控制 matlab仿真模型 buck boost
- 通关!游戏设计之道的学习笔记(七)关卡设计
- 深度相机原理揭秘--双目立体视觉
- 【微信小程序】微信小程序接口数据加密、解密算法
- Android 权限的一个类型系统模型
- c++快速傅里叶变换、反变换(FFT、IFFT)
- 基于MATLAB的极限与求导(附完整代码)
- 网页视频下载mp4格式到本地
- 因果分析系列2--随机试验
- html5 ie7兼容性问题,解决浏览器IE6,IE7兼容性的总结
- [机器学习笔记] 用Python分析:红葡萄酒质量分析(数据探索)
- 海绵蛋糕——来至于完美戚风的化身