Java OGNL类型转换器演示

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()

我有一个演示来演示如何在struts2中定义客户类型转换器。演示非常简单,输入一个字符串“Tom,12”,表示用户名和年龄。该值将被放置到用户对象中。控制台将输出这些值。 代码如下: JSP:

我有一个名为“testconvert conversion.properties”的属性文件:

操作文件:

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