如何在Struts 2中的action类或bean中使用getText()?

问题描述 投票:0回答:2

有没有办法在动作类或bean中使用

getText()
?我无法使用 Google 搜索找到 Java 代码中的示例,但可以在 JSP 中找到它们。我的例子如下:

public class LoanForm extends ActionSupport {
     
    public void validate(){
        if(this.getNameOfApplicant().equals("")){
            addFieldError(getText("error.card"), getText("error.invalid.name"));
        }
    }
}
java validation struts2 gettext resourcebundle
2个回答
1
投票

如果您的操作 bean 实现了

getText()
,则可以使用 
TextProvider
。如果你扩展
ActionSupport
它已经默认实现了。

要使用

getText()
,该操作应实现
TextProvider
ActionSupport
的用途是什么。如果你的动作等级延长了
ActionSupport
那么你可以使用默认实现
TextProvider
并且可以使用上面的代码。


对于其他 bean,您可以获得实现

TextProvider
的操作实例。例如

ActionSupport action = (ActionSupport)ActionContext.getContext().getActionInvocation().getAction();
String text = action.getText("error.card");

但是

addFieldError()
中的第一个参数,不需要
getText()
。它用于可能出现错误的字段名称。


0
投票

您只需将

extends ActionSupport
添加到您的操作类或 beans,或者创建
ActionSupport
的实例并调用
getText()
getText()
ActionSupport
的一种方法。

© www.soinside.com 2019 - 2024. All rights reserved.