SSH:Struts1框架(自定义标签函数库)

原创 2015年11月19日 15:12:48

JSTL函数库

1.JstlFnAction.java

 

package com;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class JstlFnAction extends Action {

 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  
  request.setAttribute("hello", "Hello World !");
  
  List<String> list = new ArrayList<String>();
  list.add("a");
  list.add("b");
  request.setAttribute("list", list);
  
  request.setAttribute("username", "KIMURA SAORI");
  return mapping.findForward("success");
 }

}

 

2.jstl_fn.jsp

 

<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="mf" uri="myURI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试JSTL函数库</title>
</head>
<body>
 <h1>测试JSTL函数库</h1><hr>
 <li>JSTL函数库</li><br>
 hello.length(JSP脚本)=<%=request.getAttribute("hello").toString().length() %><br>
 hello.length(JSTL标签)=${fn:length(hello) }<br>
 list.size=${fn:length(list) }<br>
 <p>
 <li>测试自定义函数库</li><br>
 sayHello:${mf:sayHello(username) }
</body>
</html>

 

 

注:使用自定义函数库

* 定义类和方法(方法必须是public static)

* 编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF任意子目录下

 

3.my.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/j2eehttp://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">
   
  <description>my functions library</description>
  <display-name>my functions</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>mf</short-name>
  <uri>myURI</uri>
 
  <function>
    <name>sayHello</name>
    <function-class>com.MyFunction</function-class>
    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>
  </function>

</taglib>

 

4.MyFunction.java

 

package com;

public class MyFunction {
 
 public static String sayHello(String name) {
  return "Hello "+name+" !";
 }
}

 

 

运行结果:

Struts <wbr>1.2笔记:JSTL函数库与自定义函数库

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

struts1自定义标签

SSH:Struts1框架(标签的使用)

1. Struts视图组件 Struts框架的视图负责为客户提供动态网页内容。Struts视图主要由Jsp页面构成。此外,Struts视图组件还提供了Struts标签,这些组件提供对国际化、接收用户输...

java程序员第十三课-EL表达式、JSTL标签库、EL函数库、自定义EL函数和自定义标签

课程回顾:JSP技术、JavaBean技术和EL表达式JSP的概述1.JSP的概述 2.JSP的执行的原理 3.JSP的脚本元素 * * * 4.JSP的注释 ...

SSH:Struts1框架(动态ActionForm)

使用ActionForm可以给开发者在处理HTML表单时带来极大的帮助,它简化了代码的编写,并提供了自动的数据验证。但是,ActionForm也存在几个非常明显的缺点。  首先,如果ActionFo...

SSH:Struts1框架(ActionForm注册类型自动转换)

测试ActionForm注册类型自动转换  * 一般的数据类型都可以自动进行转换; * boolean:yes,1,on,true都会转换成True类型,而且忽略大小写,其他清空转换成false ...

SSH:Struts1框架(简介)

Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。S...

SSH:Struts1框架(几种常用的Action)

除了基本的Action 之外, Struts 还提供了几个其他类型的Action ,这些Action 大大 丰富了Struts 的功能。下面介绍如下儿个常用的Action 。 • DispatchAc...

SSH:Struts1框架(创建HelloWorld应用)

1、配置struts * 拷贝struts lib下的所有jar到WEB-INF/lib下,如下所示: * 修改web.xml文件,配置ActionServlet,引入struts的配置文件,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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