1

Java MVC で式を使用
<p>${i}</p>
する メソッドを定義する

public static String test(int i) {
    //
}

testExpression で メソッドを呼び出すことができません${test(i)} 。どうすれば修正できますか?

4

2 に答える 2

1

その方法は、カスタム taglib を作成し、式言語を作成することです。

そのため、WEB-INF フォルダー (たとえば、/WEB-INF/my-functions.tld) で tld を定義する必要があります。

このファイルは xml で、次のようになります。

<?xml version="1.0" encoding="ISO-8859-1" ?>
<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/web-jsptaglibrary_2_0.xsd"
    version="2.0">
   <tlib-version>1.0</tlib-version>
   <uri>http://www.your-domain.com/taglib</uri>
   <short-name>my-functions</short-name>
   <description>Whatever</description>
   <function>
       <name>writeHello</name>
       <function-class>your.package.YourClass</function-class>
       <function-signature>java.lang.String writeHello(java.lang.String)</function-signature>
   </function>   
</taglib>

次のJavaコードを使用:

package your.package;

public class YourClass {

    public static String writeHello(String name) {
         return "Hello " + name;
    }

}

そして、あなたのJSPでは、そのようなことはできません:

<%@ taglib prefix="my" uri="/WEB-INF/my-functions.tld" %>
...
${my:writeHello('toto')}

あなたのページに「Hello toto」を表示します

于 2012-10-06T17:54:50.550 に答える
0

このを見て、何が欠けているかがわかります。

于 2012-10-06T17:36:42.753 に答える