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

向自定义标签中传递EL表达式

阅读更多
在定义标签的时候,有时候需要使用EL表达式,尤其是外围使用C标签进行循环操作。EL表达式在标签中获取的对象为字符串,要想标签能够解析页面传递的EL表达式,则需要在标签中使用org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager. evaluate()对EL表达式进行解析,
具体的代码如下:
public void setValue(Object value)throws JspException{
  this.value = ExpressionEvaluatorManager.evaluate(
            "value", value.toString(), Object.class, this, pageContext); 
}
参数的说明:
第一个表示tag的名字,在取el表达式出错时使用。一般和属性名字相同。
第二个要求字符串,通常简单调用输入对象的toString方法。
第三个是类,通常用Object.class。
第四个用this即可,
第五个是pageContext变量。

页面通过JSP表达式向标签传递参数时,要分情况对待。如果传递的基本类型,如int,string,boolean上述方法也可以正确解析。但如果传递的是自定义的类,则会抛出JspException异常,指出传递的参数不正确。
public void setValue(Object value)throws JspException{
  if(value instanceof YourSelfClass){
     this.value = (YourSelfClass)value;
  }else{
    this.value = (YourSelfClass)ExpressionEvaluatorManager.evaluate(
            "value", value.toString(), Object.class, this, 
                    pageContext); 
   }
}
有点笨拙,不知道其他人有没有更好的方法
0
0
分享到:
评论
1 楼 xiaoye4188 2011-01-19  
当传递自定义类时,可以直接
this.value = value;

相关推荐

    自定义EL表达式

    然后我们就可以在EL表达式中通过`${m:getFruit("10") }`调用`getFruit`方法,并传递参数"10"。最终页面会输出"Hello EL"。 总结一下,自定义EL表达式主要涉及以下几个步骤: 1. 创建实现自定义功能的Java类。 2. ...

    Fel Javael表达式引擎

    2. 变量的使用:可以在上下文环境中设置变量,并在表达式中使用这些变量。例如,设置单价、数量和运费,然后计算它们的和,输出结果67500。 3. 调用Java方法:Fel可以直接调用Java方法,甚至可以将输出流作为变量...

    EL表达式和jsp JSTL标签库的总结

    通过使用`<jsp:useBean>`标签,可以在JSP页面中创建并使用自定义JavaBean对象,并通过EL表达式来访问这些对象的属性。例如,假设存在两个JavaBean类`A`和`B`,其中`A`包含一个类型为`B`的对象`b`,那么可以通过下面...

    EL表达式基础学习

    EL表达式,全称为Expression Language,是在Java Server Pages (JSP)中广泛使用的表达式语言。它被设计用来简化对JSP页面中数据的访问,并能实现页面数据的动态显示。学习EL表达式,可以让开发者更容易理解和使用JSP...

    EL表达式的用法 很使用

    - **与JSTL标签库的结合使用**:讨论EL表达式与JSTL标签之间的关系及其优势。 - **性能考虑**:探讨EL表达式在高并发环境下的性能表现。 - **最佳实践**:分享在实际项目中使用EL表达式的一些最佳实践。 综上所述,...

    java EL 表达式的例子

    在本教程中,我们将深入探讨11个JSP示例,以展示EL表达式的各种用法。 1. **基本EL表达式**:基础的EL表达式用于获取JavaBeans的属性值。例如,`${user.name}`将获取名为`user`的JavaBean对象的`name`属性。在JSP中...

    jsp自定义标签编写的分页

    在这个例子中,`messageCount`和`currentPage`通常是从后台服务获取的数据,通过EL(Expression Language)表达式传递给自定义标签。 自定义标签的优势在于代码复用和分离关注点,使得业务逻辑和视图层更加清晰。在...

    自定义标签 JAVA web项目开发经验

    自定义标签的深入学习还需要了解JSP生命周期、EL表达式、JSTL标签库以及Servlet规范等相关知识。理解并熟练掌握自定义标签的开发和使用,对于提升Java Web项目的质量和效率具有重要意义。在实际项目中,结合MVC框架...

    jsp自定义标签

    这里的`my:if`是自定义标签的前缀,`condition`是传递给处理程序类的属性,`${user.isAdmin}`是EL表达式,用于判断条件。 **自定义标签的优势**: 1. **代码分离**:将视图逻辑封装到自定义标签中,可以使得JSP页面...

    自定义标签源代码

    在实际开发中,自定义标签可以包含更复杂的逻辑,比如使用JSTL标签库中的EL表达式来传递参数,或者通过`doInitBody()`方法处理标签体内容。此外,还可以通过引入其他标签库,实现更复杂的交互和功能。对于初学者来说...

    掌握自定义jsp标签s

    3. 与EL(Expression Language)结合:自定义标签可以与EL表达式一起使用,方便数据的获取和传递。 六、Webwork框架中的自定义标签 提到的两个压缩文件名,"webworkDemo.rar"和"webwork-ppt.rar"可能与Webwork框架...

    自定义标签实例

    这个文件定义了标签的HTML结构,并使用EL表达式 `${output}` 显示由标签处理类设置的内容。 4. **在JSP中使用自定义标签** 最后,我们可以在JSP页面中使用这个自定义标签,引入TLD文件并调用标签: ```jsp ...

    JSP自定义标签-源码.rar

    3. **标签文件(Tag File)**:使用JSP语法定义的自定义标签,可以包含其他JSP元素,如脚本元素、EL表达式等。这种方式适合简单的标签,可以直接在JSP页面中编写,无需编写Java类。 **自定义标签的生命周期方法** ...

    动态属性自定义标签

    在Java服务器页面(JSP)开发中,动态属性自定义标签是一种强大...在实际开发中,结合使用EL表达式(Expression Language)和JSTL(JavaServer Pages Standard Tag Library),可以进一步提高JSP的开发效率和代码质量。

    JSP自定义标签(封装<select>标签)

    其中`${sqlQuery}`是EL表达式,用于传递SQL查询到标签。 5. **部署和引用**: 将TLD文件放置在Web应用的`WEB-INF/tags`目录下,然后在JSP页面中通过`&lt;%@ taglib %&gt;`指令引入标签库。 总结起来,自定义JSP标签...

    使用propertities配置文件的简单的自定义标签入门例子

    3. JSP Tag File:实现自定义标签的具体逻辑,可以包含JSP脚本、EL表达式、JSTL标签等。 三、结合Properties配置文件使用自定义标签 1. 在TLD文件中引用properties文件:在TLD文件中,可以声明一个属性,该属性引用...

    jsp自定义标签的小例子

    2. **Body Content**: 控制标签是否可以包含内容(体内容),例如`scriptlet`、EL表达式或其他标签。 3. **Nesting Tags**: 自定义标签可以嵌套其他标签,实现更复杂的逻辑。 4. **Tag Files**: 如果标签逻辑较为...

    java自定义分页标签

    5. **实现动态数据绑定**:为了将标签与实际的数据源关联起来,我们可能需要在标签中使用EL表达式或传递参数来获取数据。例如,我们可以在`PagingTag`类中使用`pageContext`对象获取请求中的参数,或者通过JDBC查询...

    一个JSP自定义标签的例子。格式化基础数据

    在上面的例子中,我们使用了`fmt:formatDate`标签,并传递了一个EL表达式`${today}`作为日期参数,以及一个字符串`"dd/MM/yyyy"`作为格式化模式。 #### 四、总结 通过上述步骤,我们成功地创建了一个简单的用于...

Global site tag (gtag.js) - Google Analytics