gpt4 book ai didi

java - Struts2 模型驱动的验证不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:03:44 27 4
gpt4 key购买 nike

我已经在我的应用程序中实现了模型驱动的验证,但验证不起作用并出现以下警告。

WARNING: The visited object is null, VisitorValidator will not be able to handle validation properly. Please make sure the visited object is not null for VisitorValidator to function properly

知道为什么吗?

这是我的 Action 类。

package actions;

import beans.CarListing;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class ListCarAction extends ActionSupport implements ModelDriven{
public String execute() {
System.out.println("ListCarAction x" + carListing.getUrl());
return SUCCESS;
}

private CarListing carListing = new CarListing();

public Object getModel() {
return carListing;
}
}

这是我的 ListCarAction-validation.xml

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="model">
<field-validator type="visitor">
<param name="appendPrefix">false</param>
<message>Car Listing: </message>
</field-validator>
</field>
</validators>

这里是名为 CarListing-validation.xml 的 bean validator XML。

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="url">
<field-validator type="requiredstring">
<message>URL is required field.</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">1</param>
<param name="minLength">30</param>
<message>The URL must be at least 1-30 characters.</message>
</field-validator>
</field>
</validators>

最佳答案

  1. 确保您正在为您的 Action 使用正确配置的拦截器堆栈,包括以下顺序的所有拦截器:modelDrivenparams验证。其中还有其他拦截器,唯一重要的是它们不会相互交换位置)

  2. 确保 CarListing-validation.xml 文件与 CarListing.class 文件一起放入 beans 包中,不在 actions 包中,而是在另一个 xml 文件中。

关于java - Struts2 模型驱动的验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24895040/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com