2014-12-03 39 views
0

考慮這樣的情況如何通過jsp中的scriplet方法傳遞正則表達式值?

double Method(double variable) 
{ 
.............. 
.............. 
return someDoubleValue; 
} 

<c:set var="t_variable" value="123.999"/> 

<fmt:formatNumber value="Method(${t_variable})" /> 

這裏,我並不怎麼傳的表達式語言變量的方法。任何人都可以告訴正確的方式來通過這個?

+0

是否y ou嘗試'價值=「$ {方法(t_variable)}」'? – developerwjk 2014-12-03 19:36:48

回答

0

的方法是創建一個JTSL自定義函數:

下創建/ A .TLD文件WEB-INF

<?xml version="1.0" encoding="UTF-8"?> 
<taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"> 
    <tlib-version>1.0</tlib-version> 
    <short-name>tlds</short-name> 
    <uri>http://www.sometld.com/tlds</uri> 
    <function> 
     <name>someMethod</name> 
     <function-class>org.domain.Functions</function-class> 
     <function-signature>double someMethod(double)</function-signature> 
    </function> 
</taglib> 

創建靜態方法

package org.domain; 

public class Functions 
{ 
    public static double someMethod(double value) 
    { 
     ... 
     return someValue; 
    } 
} 

和A類使用它

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<%@taglib uri="http://www.sometld.com/tlds" prefix="mfn" %> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
      ${mfn:someMethod(123.999)} 
    </body> 
</html>