Java OGNL类型转换器演示
我有一个演示来演示如何在struts2中定义客户类型转换器。演示非常简单,输入一个字符串“Tom,12”,表示用户名和年龄。该值将被放置到用户对象中。控制台将输出这些值。 代码如下: JSP: 我有一个名为“testconvert conversion.properties”的属性文件: 操作文件:Java OGNL类型转换器演示,java,web,struts2,ognl,Java,Web,Struts2,Ognl,我有一个演示来演示如何在struts2中定义客户类型转换器。演示非常简单,输入一个字符串“Tom,12”,表示用户名和年龄。该值将被放置到用户对象中。控制台将输出这些值。 代码如下: JSP: 我有一个名为“testconvert conversion.properties”的属性文件: 操作文件: public class testconvert extends ActionSupport { private User user; public User getUser()
public class testconvert extends ActionSupport
{
private User user;
public User getUser()
{
System.out.println("getUser");
return user;
}
public void setUser(User user)
{
System.out.println("setUser");
this.user = user;
}
@Override
public String execute() throws Exception
{
System.out.println("username: " + user.getUsername());
System.out.println("age: " + user.getAge());
System.out.println("execute");
return SUCCESS;
}
}
当我提交值“Tom,20”时,控制台输出以下内容:
WARNING: Parameter [user] is not on the excludeParams list of patterns and will be appended to action!
convertValue
Tom,20
setUser
username: Tom
age: 20
execute
它有一个警告,但它可以输出我所需要的。
然后我更改JSP文件。我更改代码如下:
<input type="text" name="user222"/>
我认为输入标记的名称并不重要。但我错了。我没有得到正确的输出
所以我的问题是:1、警告是什么意思
2.如果希望
名称为user222,我该怎么办?如果希望使用不依赖于action类中属性名称的转换器,则需要定义应用程序范围的转换器。这是在类路径根目录下的xwork conversion.properties
文件中完成的
your_package.User = com.tutorialspoint.sconvert.UserConverter
看,你检查过文件了吗?
WARNING: Parameter [user] is not on the excludeParams list of patterns and will be appended to action!
convertValue
Tom,20
setUser
username: Tom
age: 20
execute
<input type="text" name="user222"/>
your_package.User = com.tutorialspoint.sconvert.UserConverter