Я использую выражение в Java MVC
<p>${i}</p>
Я определить метод
Expression MVC2
public static String test(int i) {
//
}
Я не могу назвать метод test
в выражении ${test(i)}
Как это исправить?
Я использую выражение в Java MVC
<p>${i}</p>
Я определить метод
Expression MVC2
public static String test(int i) {
//
}
Я не могу назвать метод test
в выражении ${test(i)}
Как это исправить?
взгляните на это example, вы узнаете, чего не хватает.
Способ сделать это, чтобы создать пользовательский taglib и создать язык выражений.
Таким образом, вы должны определить TLD в папку WEB-INF (например /WEB-INF/my-functions.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» на вашей странице
Okie, thanks @Patouche! –