`
MauerSu
  • 浏览: 513469 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

收藏 JSP自定义标签EL表达式取值问题

 
阅读更多

源:http://bbs.csdn.net/topics/210040287

评:

给你个标签的例子自己看看吧!
标签:<framework:VoucherCodeToName code="" />

tld.xml


<tag>
        <name>VoucherCodeToName</name>
        <tagclass>com.itown.crm.fee.vouchermanager.util.VoucherCodeToNameTag</tagclass>
        <bodycontent>JSP</bodycontent>
        <attribute>
            <name>code</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
</tag>
VoucherCodeToNameTag.java

package com.itown.crm.fee.vouchermanager.util;

import java.util.ArrayList;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.commons.lang.StringUtils;
import org.apache.taglibs.standard.tag.el.core.ExpressionUtil;

import com.itown.crm.fee.vouchermanager.po.FeeVoucherInfo;
import com.itown.crm.util.DaoUtil;
import com.itown.framework.persistence.CachedRowSet;
import com.itown.util.ormapping.BeanHelper;

public class VoucherCodeToNameTag extends TagSupport {
	
	protected String code = "";

	public String getCode() {
		return code;
	}

	public void setCode(String code) {
		this.code = code;
	}
	
	public int doStartTag() throws JspException {
		//解析表达式
		evaluateExpressions();
		//如果属性值为NUll或者为"",则不进行转换
		if(StringUtils.isBlank(code)) {
			return super.doStartTag();
		}
		try {
			String name = null;
			StringBuffer sql = new StringBuffer();
			sql.append("select * from FEE_VOUCHER_INFO where VOUCHER_ID='");
			sql.append(code);
			sql.append("'");

			CachedRowSet rs = DaoUtil.executeQuery(sql.toString());
			
			ArrayList list = BeanHelper.mapBeansByRS(rs, FeeVoucherInfo.class);
			if(list.size() > 0){
				name = ((FeeVoucherInfo)list.get(0)).getVoucherName();
			}
			this.pageContext.getOut().print(StringUtils.trimToEmpty(name));
		} catch (Exception e) {
			e.printStackTrace();
		}
		return SKIP_BODY;
	}
	private void evaluateExpressions() {
		try {
			code = (String) ExpressionUtil.evalNotNull("VoucherCodeToName", "code", code, java.lang.Object.class, this, pageContext); //第一个参数为这个标签的名称
        }
        catch(Exception ex) {
        	code = null;
        }
	}

}

 

分享到:
评论

相关推荐

    EL表达式的语法介绍

    EL 表达式可以被解析成数值表达式和方法表达式,其中取值表达式用于引用一个值,而方法表达式则是关联一个方法。 1.1 EL 表达式语法 EL 表达式可以分为三种类型:eval-expression、literal-expression 和 ...

    JSP中的EL表达式介绍.doc

    **JSP中的EL表达式详解** EL(Expression Language),即表达式语言,是JSP 2.0引入的一种简化页面编程的机制。它允许开发者在JSP页面中以简洁的方式访问JavaBean属性、JSP作用域中的对象以及执行基本的算术和逻辑...

    EL表达式包括字符串处理,时间日期的格式化,数字处理

    ### EL表达式详解 ...综上所述,EL表达式为JSP开发提供了极大的便利性,使得开发者能够更加专注于业务逻辑而非底层数据访问细节。通过灵活运用EL表达式的各种功能,可以显著提高JSP页面的开发效率和可维护性。

    EL表达式在前后台的取值赋值问题

    ### EL表达式在前后台的取值赋值问题详解 #### 一、EL表达式概述 EL(Expression Language)表达式是一种简洁的方式,用于获取JavaBean属性或执行简单运算。在JSP页面中,它提供了从请求作用域、会话作用域、应用...

    JSP EL表达式

    JSP EL表达式(Expression Language)是JSP 2.0中新增的脚本编制元素,主要用于简化JSP页面的编码。它的引入旨在减少页面中Java代码的使用,从而使页面内容更加清晰,易于维护。接下来将详细阐述EL表达式的定义、...

    EL表达式的使用方法

    EL表达式的取值范围 在书写EL表达式时,可以通过指定作用域来获取不同范围内的对象值。 - **pageScope**:页面范围,只存在于当前请求响应周期内。 - **requestScope**:请求范围,当前HTTP请求期间有效。 - **...

    SpringMVC中Model和ModelAndView的EL表达式取值方法

    4. **EL表达式取值** EL表达式在JSP页面中用于从模型对象中获取值。表达式 `${expression}` 的形式,其中 `expression` 是一个访问模型数据的路径。例如,`${currentUser.name}` 访问的是`currentUser`对象的`name`...

    EL表达式详解+实例教程

    此外,还可以通过 `&lt;%@ page isELIgnored="false" %&gt;` 指令来启用EL表达式,默认情况下EL表达式在JSP 2.0中已经启用。 #### 六、总结 通过本教程的学习,你应该对EL表达式的使用有了较为全面的了解。EL表达式不仅...

    js中如何引用EL表达式.txt

    在JSP页面中,可以使用`&lt;script&gt;`标签来嵌入JS代码,并在其中引用EL表达式的结果。例如: ```html ; charset=UTF-8" pageEncoding="UTF-8"%&gt; var addFullName = "${msgs.addFullName} %&gt;"; alert(addFullName)...

    EL表达式+(详解)

    EL表达式是JSP技术中的一项强大特性,它简化了数据的访问过程,使得开发者可以在JSP页面上更加灵活地使用数据。通过理解EL表达式的语法、作用域和特殊功能,开发者可以更高效地构建动态网页应用。

    EL表达式详解教程

    EL表达式的设计初衷是为了简化JSP页面中对数据的操作,使得开发者能够更加专注于页面布局和展示逻辑,而不是纠结于复杂的后端数据获取。 #### 二、EL表达式的语法结构 EL表达式的语法非常直观,以`$`和`{`开头,以...

    EL表达式 jsp

    EL表达式通常被用来获取和设置页面、请求、会话和应用程序范围内的对象属性,以及处理JSP页面中的各种数据。 在Tomcat服务器中,EL表达式默认是启用的,但在某些情况下可能需要手动配置。有以下两种方法来确保...

    EL表达式详解

    EL表达式采用`{}`的形式来表示,可以在所有的HTML和JSP标签中使用,其主要目的是替代复杂的Java代码,提高开发效率。 ##### 1. EL表达式的应用场景 - **替换Java代码**:EL表达式可以代替JSP页面中复杂的Java代码...

    EL表达式(转)

    ### EL表达式详解 #### 一、EL表达式概述 EL (Expression Language) 是 JavaServer Pages (JSP) 技术中的一个重要组成部分,用于简化页面上动态内容的处理。EL 表达式允许开发者直接在 JSP 页面中访问 JavaBean ...

    关于EL表达式语言的简单总结

    EL表达式广泛应用于JSP页面中,它使得开发人员能够更方便地处理数据,并且能够减少JSP页面中的脚本代码量。 ##### 1. 语法结构 EL表达式的语法结构非常简单,主要形式为`{expression}`。这里`expression`代表具体...

    EL表达式 (详解)

    - EL表达式使用`${}`表示,可以应用于所有的HTML和JSP标签中,其作用在于替代JSP页面中的复杂Java代码。 - EL表达式可以操作常量、变量和隐式对象。其中最常用的隐式对象包括`${param}`和`${paramValues}`。 - `${...

    el表达式的相关介绍

    EL表达式是JSP开发中不可或缺的一部分,它提高了代码的可读性和可维护性,减少了Java代码的使用,使得开发者可以更专注于业务逻辑而不是数据获取。通过熟练掌握EL表达式,可以更高效地构建动态Web应用程序。

    浅谈jsp EL表达式取值过程、page和pagecontext的区别

    理解EL表达式的取值流程和`page`与`pageContext`的区别,对于优化JSP页面的代码和提高开发效率至关重要。EL表达式简化了数据访问,而`pageContext`作为桥梁,提供了更强大的上下文访问能力。在实际开发中,合理利用...

    EL表达式的详细使用

    EL(Expression ...总结来说,EL表达式语言是JSP中一种强大的工具,它通过简洁的语法和隐式对象,简化了对JSP页面中数据的处理和控制,提高了代码的可读性和维护性。理解并熟练运用EL,是提升JSP开发效率的关键。

    EL表达式用法.docx

    EL表达式的使用极大地提高了JSP页面的可读性和可维护性,减少了页面与Java代码的耦合,使得开发者能更加专注于页面的呈现逻辑,而不是数据处理。通过掌握上述知识点,开发者能够更高效地利用EL表达式进行JSP开发。

Global site tag (gtag.js) - Google Analytics