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函数库与自定义函数库

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

struts 标签使用 使用函数

方法一: func是类com.common.Constant里面的一个静态方法 str是动态的参数 实例: 方法二: func是类...
  • feng27156
  • feng27156
  • 2013年01月22日 19:58
  • 566

struts2页面中的标签调用类的方法

或     func是类com.common.Constant里面的一个静态方法 str是动态的参数   方法二: func是类com.common.StrutsHelper...
  • sarck3
  • sarck3
  • 2013年12月04日 14:41
  • 1252

struts1.3自定义标签

一、web.xml添加自定义标签文件 /WEB-INF/bing /WEB-INF/bing.tld 二、bin...
  • wlbing0625
  • wlbing0625
  • 2013年02月05日 09:53
  • 1737

Struts1 的html标签的详细讲解与使用

标签 用来创建表单。必须包含一个action属性,否则JSP会抛出一个异常.  常用的属性有以下几个: action:指定用户提交的组件由那个组件方法来处理 method:指定表单提交的方式是post...
  • lycyl
  • lycyl
  • 2015年08月14日 18:03
  • 2025

struts2自定义标签的详细使用

例子:查询所有学生的资料(学号,姓名,性别,出生年月,家庭地址)      第一步:在tags包下,新建Java类,需继承javax.servlet.jsp.tagext.TagSupport,并编写...
  • lfc453048573
  • lfc453048573
  • 2014年02月16日 21:29
  • 13303

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

除了基本的Action 之外, Struts 还提供了几个其他类型的Action ,这些Action 大大 丰富了Struts 的功能。下面介绍如下儿个常用的Action 。 • DispatchAc...
  • qq_27550755
  • qq_27550755
  • 2015年11月19日 12:37
  • 431

struts1标签Logic使用举例

1.  logic:empty            该标签是用来判断是否为空的。如果为空,该标签体中嵌入的内容就会被处理。该标签用于以下情况:          1)当Java对象为null时;...
  • yucaifu1989
  • yucaifu1989
  • 2014年09月25日 12:04
  • 1457

struts1的html详细用法示例

标记可以说是Struts所有标记中最简单的了。它简单的在页面开始处和结尾处产生一个的标记。在Struts1.1以前的版本中,该标记有一个locale属性。如下所示:   该属性的作用是读取...
  • wutongyu0123wutongyu
  • wutongyu0123wutongyu
  • 2015年10月06日 21:30
  • 6138

struts1.2中表单标签的应用---(form及text使用)源码解析

一、以text标签为例 1.配置 web.xml中 /html /WEB-INF/struts-html.tld 2.jsp中的使用 *规格...
  • honghailiang888
  • honghailiang888
  • 2016年10月10日 16:20
  • 434

Struts1标签之logic标签

Logic标签大部分的功能是对属性值进行判断,相等后就可以进行设置内容 1.数值比较标签集:以下六个标签都是用于比较数值的标签 关键字:logic:equal/notequal/greater...
  • frost131314
  • frost131314
  • 2013年03月06日 15:06
  • 1767
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SSH:Struts1框架(自定义标签函数库)
举报原因:
原因补充:

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