自定义标签:在JSP页面中动态执行Spring Bean的方法

转载 2012年05月18日 20:56:30

     使用该自定义标签,可以在JSP页面中动态执行某个Spring Bean对象的一个方法,方法返回的结果存储在ValueStack中。该自定义标签在Spring2、Struts2、Hibernate3环境下测试通过。

一、java源代码

    1、ServiceTag源代码

Java代码

 

    2、ServiceParamTag源代码

Java代码

 

    3、公共方法源代码

Java代码

 

<pre> 
 * 一定要在spring.xml中加上: 
 * &lt;bean id="SpringContextUtil " class="com.hmw.spring.SpringContextUtil" singleton="true" /&gt; 
 * 当对SpringContextUtil 实例时就自动设置applicationContext,以便后来可直接用applicationContext 
 * </pre> 
  1. package org.company.xxx;   
  2.   
  3. import org.springframework.beans.BeansException;    
  4. import org.springframework.context.ApplicationContext;    
  5. import org.springframework.context.ApplicationContextAware;    
  6.     /**   
  7.      *   
  8.      * 获取spring容器,以访问容器中定义的其他bean   
  9.      * @author lyltiger  
  10.      * @since MOSTsView 3.0 2009-11-16  
  11.      */  
  12. public class SpringContextUtil implements ApplicationContextAware {   
  13.   
  14.     // Spring应用上下文环境   
  15.     private static ApplicationContext applicationContext;   
  16.   
  17.     /**  
  18.      * 实现ApplicationContextAware接口的回调方法,设置上下文环境  
  19.      *   
  20.      * @param applicationContext  
  21.      */  
  22.     public void setApplicationContext(ApplicationContext applicationContext) {   
  23.         SpringContextUtil.applicationContext = applicationContext;   
  24.     }   
  25.   
  26.     /**  
  27.      * @return ApplicationContext  
  28.      */  
  29.     public static ApplicationContext getApplicationContext() {   
  30.         return applicationContext;   
  31.     }   
  32.   
  33.     /**  
  34.      * 获取对象  
  35.      * 这里重写了bean方法,起主要作用  
  36.      * @param name  
  37.      * @return Object 一个以所给名字注册的bean的实例  
  38.      * @throws BeansException  
  39.      */  
  40.     public static Object getBean(String name) throws BeansException {   
  41.         return applicationContext.getBean(name);   
  42.     }   
  43.   
  44. }  

二、tld文件源代码

Xml代码

 

三、范例

    1、java源代码

Java代码

    2、JSP页面源代码

Html代码
  1. <cjm:serviceBean beanName="roleService" methodName="getRole" id="result">  
  2.     <cjm:serviceParam name="roleId" value="ADMIN" type="java.lang.String"/>  
  3. </cjm:serviceBean>  
  4.   
  5. <s:property value="#result.roleName"/>  

jsp自定标签(并且注入spring容器中的bean)

作用 在我们开发中,界面和程序代码是分开做的美工做界面但是美工不懂得Java语言如果我们把Java代码写在jsp文件中,会影响美工工作如果我们使用自定义标签,到时再jsp中我们只需要加入一段引用...

自定义标签中获取Spring Bean

public class ServiceTag extends BaseBodyTagSupport { private String beanName; pr...

在自定义标签子类获取Spring中注册的bean

自定义标签子类是:javax.servlet.jsp.tagext.SimpleTagSupportjavax.servlet.jsp.tagext.TagSupport... ...的子类.当然在这...

jsp页面自定义标签的实现

  • 2009年07月13日 09:58
  • 725KB
  • 下载

JSP页面tdl自定义标签的做法

思路: 首先tdl自定义标签就是比如类似input、div、ul、li之类的标签,只是名字自己来定义,但实际上要在页面上看到效果还是需要些html代码,只是在页面上只需要写自己标签就可以代表...

自定义标签,时间戳与日期时间转换 jsp页面

先说说自己的需求: 数据库多条数据,时间字段存的是10位php格式的时间戳,我是需要用java在jsp页面做数据列表展示,就牵扯到时间戳与日期格式时间转换问题。 本来可以new Date(时间戳)...

自定义标签实现JSP页面计算两个时间类型变量的差,返回xx天xx小时xx分钟xx秒

自定义标签类:

spring 中怎么创建自定义标签来简化bean的配置?

spring 中怎么创建自定义标签来简化bean的配置?

使用JSP自定义标签做页面片段的缓存

直接上代码: 01 public class IncludeTag extends BodyTagSupport { ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自定义标签:在JSP页面中动态执行Spring Bean的方法
举报原因:
原因补充:

(最多只允许输入30个字)