`

页面中jstl标签调用后台的静态方法,自定义标签的编写

    博客分类:
  • J2EE
阅读更多
    近期在做一个社区项目,使用了大家熟悉的SSH模式,本来页面标准是统一使用struts2标签,但是项目组的一部分人使用了jstl标签,他们遇到了一些问题。例如,在前台显示的时候,需要调用后台的某些方法,但是jstl标签中却没有的功能。于是自己就写了一个超级简单的标签例子。例如字符串的编码。
   ·首先编写一个类,里边放置了对字符串编码、解码的方法。保证方法必须是静态的public方法。
   
	public static String encoder(String source,String charset){
		return StringUtil.encoder(source, charset);
	}
	
	public static String decoder(String source,String charset){
		return StringUtil.decoder(source, charset);
	}
    

   ·编写tld文件,建立一个文件,名称为lbs.tld,放在web-inf下面。
   
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"  
    version="2.0">  
      
    <description>LBS Custom Functions</description>  
    <tlib-version>1.0</tlib-version>  
    <short-name>lbs</short-name>  
    <uri>/lbsFunction</uri>  
       
      <function>  
        <name>encoder</name>  
        <function-class>com.lingdong.util.tld.LbsTld</function-class>  
        <function-signature>java.lang.String encoder(java.lang.String,java.lang.String)</function-signature>
        <example>${lbs.encoder('','')}</example>
       </function>
      
      <function>  
        <name>decoder</name>  
        <function-class>com.lingdong.util.tld.LbsTld</function-class>  
        <function-signature>java.lang.String decoder(java.lang.String,java.lang.String)</function-signature>
        <example>${lbs.decoder('','')}</example>
      </function>
</taglib>
   

   ·编写jsp页面,需要在头部指明引用的tld标签。
  
<%@ taglib prefix="lbs" uri="/lbsFunction" %>
${lbs:encoder(nickName,null)}

通过以上的三步即可完成自定义标签的编写。当然这个比较简单。需要的同仁可以尝试下。
4
2
分享到:
评论
4 楼 glamey 2013-06-16  
QiuQiu0034 写道
glamey 写道
tt2tt 写道
您好,请问您这种方法,可否调用struts2 action中的方法,刚试了一下,提示 method XXX for function XXX not found in class XXX,您遇到过类似情况没有?

如果按照我的例子来写的话,应该是没有问题的。

你就这么肯定?
我比葫芦画瓢的时候就报了这个错



需要在struts2全局配置文件中,声明下,<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> 
两年多都没做前端页面了,快忘记玩了。

详情见老帖子:http://glamey.iteye.com/blog/741710
3 楼 QiuQiu0034 2013-06-07  
glamey 写道
tt2tt 写道
您好,请问您这种方法,可否调用struts2 action中的方法,刚试了一下,提示 method XXX for function XXX not found in class XXX,您遇到过类似情况没有?

如果按照我的例子来写的话,应该是没有问题的。

你就这么肯定?
我比葫芦画瓢的时候就报了这个错
2 楼 glamey 2012-06-09  
tt2tt 写道
您好,请问您这种方法,可否调用struts2 action中的方法,刚试了一下,提示 method XXX for function XXX not found in class XXX,您遇到过类似情况没有?

如果按照我的例子来写的话,应该是没有问题的。
1 楼 tt2tt 2012-06-08  
您好,请问您这种方法,可否调用struts2 action中的方法,刚试了一下,提示 method XXX for function XXX not found in class XXX,您遇到过类似情况没有?

相关推荐

    jsp相关技术文档及讲座

    3. **避免在JSP中编写大量业务逻辑**:复杂的逻辑应该放在后台的Java类中处理。 4. **使用MVC框架**:Spring MVC、Struts等框架可以帮助更好地组织JSP应用,提高开发效率。 通过深入学习和实践这些JSP相关的技术,...

    JSP核心技术和电子商务应用实例源代码分析

    3. **订单处理**:用户提交订单后,JSP页面可以接收表单数据,处理订单信息,并调用后台服务完成支付和库存更新。 4. **用户登录与注册**:使用JSP实现用户登录和注册界面,处理表单提交,验证用户输入,以及管理...

    JSP编程技巧(PDG)

    JSTL是一套标准的JSP标签库,包括核心标签库、XML标签库、JDBC标签库等,能够帮助开发者编写更规范、可维护的JSP代码。 8. **Servlet与JSP的关系** JSP最终会被转换为Servlet,Servlet是JSP的后台处理引擎。JSP更...

    JSP源码——铭洲网络后台解决方案_ccmingzhou.zip

    2. **JSP标签库**:JSTL(JavaServer Pages Standard Tag Library)和其他自定义标签库,如Struts2的标签,是JSP中常用的功能组件,它们简化了页面逻辑的编写,使得代码更加清晰和可维护。 3. **EL(Expression ...

    JSP高级编程~~~~

    如`${bean.property}`,它在后台自动调用getter和setter方法。 ### 四、JSTL(JavaServer Pages Standard Tag Library) JSTL是一组标准的标签库,包括核心标签、XML标签、JDBC标签、函数标签等,用于增强JSP的...

    将HTML转为Jsp的一些资料

    - 避免在JSP中编写过多的Java代码,保持页面清晰。 通过以上内容,我们可以了解到将HTML转换为JSP涉及到的技术和原理,以及如何有效地进行转换。这不仅有助于提高Web应用的功能性,还能优化代码结构,使维护更加...

    JSP 技术大全.rar

    2. **指令**:JSP提供三种类型的指令:`page`指令、`include`指令和`taglib`指令,它们用来设置页面属性、引入其他文件和定义自定义标签库。 3. **元素**:包括脚本元素(Scriptlets、表达式、声明)和声明式元素...

    JSP最新开发技术手册(完整版)

    3. **脚本元素**:包括声明(declarations)、脚本(scriptlets)、表达式(expressions)和EL(Expression Language),用于在JSP页面中编写Java代码。 **JSP与Servlet关系** 1. **JSP编译过程**:JSP在首次请求...

    J-HI 手册 how to手册

    - **实现方式**: 在WebWork中,可以使用Action类中的方法来处理请求,并在JSP页面中通过EL表达式或JSTL标签库来调用这些方法。 **2. 如何改变查询列表页中记录的数量** - **实现方式**: 通过修改分页配置,或者在...

    jsp 高校学生信息系统软件源代码.zip

    这些页面负责展示数据、接收用户输入并调用后台JAVA代码进行处理。在本系统中,JSP页面可能包括学生信息展示、注册登录、成绩查询等功能,通过使用JSTL(JavaServer Pages Standard Tag Library)和EL(Expression ...

    android 学习路线大纲

    - 自定义标签和JSTL:开发自定义标签库,了解JSTL标准标签库的使用。 4. **JavaMail开发** - 电子邮件工作原理:理解SMTP,POP3,IMAP协议。 - JavaMail API:使用JavaMail发送和接收邮件,处理复杂邮件内容。 ...

    JSP 2.0 Specification.pdf

    - **动作元素**:通过XML标签形式实现页面逻辑控制,如数据绑定、标签库调用等。 - **JSP EL 和 JSTL**:作为JSP 2.0 的核心特性之一,它们极大地方便了动态数据的处理和展示。 #### 4. 安装与配置 - **开发环境...

    jsp投票系统

    - **JSP标签技术**:自定义标签库(TLD)和JSP标准标签库(JSTL)简化了代码编写,提高了可读性。 ### 2. 投票系统架构 一个基本的JSP投票系统通常包含以下组件: - **用户界面**:使用HTML和JSP页面展示投票选项...

    关于JSP实验的代码

    4. **标签库**:了解自定义标签和标准JSTL(JavaServer Pages Standard Tag Library)的使用。 通过这次实验,学生不仅能够加深对JSP技术的理解,还能提高实际开发能力,为后续的Web开发奠定基础。

    《JSP程序员成长攻略》-源代码

    JSP的核心概念包括JSP指令、脚本元素、表达式、动作和自定义标签。JSP指令如`&lt;%@ page %&gt;`, `&lt;%@ include %&gt;`, 和`&lt;jsp:forward&gt;`等用于配置页面属性或包含其他文件。脚本元素包括声明、脚本let和表达式,用于编写...

    jtday03日常笔记

    加载页面时,通过ajax调用后台服务获取数据,服务端处理后返回JSON数据,前端再将这些数据渲染到页面上。 ### 三、MyBatis使用技巧 #### 1. MyBatis基础知识 - **核心API**:`SqlSession`提供了基本的数据访问方法...

    基于(servlet+jsp)的在线书店系统.zip

    - **JSP核心标签库**:EL表达式、JSTL、自定义标签等,用于动态页面生成。 - **Web容器**:如Tomcat的使用与配置。 - **数据库设计与SQL**:如MySQL的表结构设计,SQL查询、插入、更新、删除操作。 - **MVC模式**:...

    jsp网上商城

    - **JSTL(JavaServer Pages Standard Tag Library)**:简化JSP页面的编程,提供一系列预定义的标签,如循环、条件判断等。 - **Servlet**:JSP背后的执行引擎,处理HTTP请求,调用业务逻辑,返回响应。 【压缩...

    达内servlet/jsp/jquery资料

    - 这个过程中还包括初始化、销毁等生命周期方法的调用。 ### 7. HTTP协议 - HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的协议,它是互联网上应用最为广泛的一种网络协议。 - HTTP请求分为GET、POST...

Global site tag (gtag.js) - Google Analytics