在struts.xml中访问Java内部类

工程机械

是否可以在struts.xml文件中访问Java内部类?例如,我有以下带有嵌套类的java类:

public class FooServiceAction {

FooServiceImpl service = new FooServiceImpl();

public class ProductAction extends ActionSupport {

    private ProductImpl product = new ProductImpl();

    public ProductAction() {

    }

    public ProductAction(ProductImpl product) {
        this.product = product;
    }

    public ProductImpl getProduct() {
        return product;
    }

    public void setProduct(ProductImpl product) {
        this.product = product;
    }

    public String productSetting() {
        return SUCCESS;
    }

    @Override
    public void validate() {
        if (this.getProduct().getName() == null
                || this.getUser().getName().equals("")) {
            addFieldError("name", "Product name is mandatory.");
        } else {
            service.createProduct(product);
        }
    }
}

我需要访问struts.xml文件中的嵌套ProductAction类。

<action name="createProduct" class="foo.action.FooServiceAction.ProductAction" method="productSetting">
        <result name="success">/launchapp.jsp</result>
        <result name="input">/createUser.jsp</result>
    </action>

每当我尝试使用码头启动该项目时,都会引发异常,因为struts.xml无法找到嵌套的Java类。

[错误]无法在项目foo-web上执行目标org.mortbay.jetty:maven-jetty-plugin:6.0.1:run(d efault-cli):失败:StrutsException:无法加载配置。找不到动作类[foo.action.FooServiceAction.ProductAction]-> [帮助1]

如何使嵌套的Java类对struts.xml文件可见?

提前谢谢了

罗马C

是的,如果您将内部类设为静态,则是可能的。见下面的代码

public class FooServiceAction {
  public static class ProductAction extends ActionSupport {

静态嵌套类使用封闭的类名称访问:

<action name="createProduct" class="foo.action.FooServiceAction.ProductAction" method="productSetting">

Struts将使用以下方法为静态嵌套类创建一个对象ObjectFactory

foo.action.FooServiceAction.ProductAction action =
     new foo.action.FooServiceAction.ProductAction();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Struts 2中的Java类内部验证

来自分类Dev

Struts 2中的Java类内部验证

来自分类Dev

Struts.xml与Struts.xml

来自分类Dev

如何在struts2中访问bean内部动作

来自分类Dev

如何在struts2中访问bean内部动作

来自分类Dev

Struts中的JSON响应

来自分类Dev

struts中的保留字?

来自分类Dev

更改Struts2中struts.xml的默认位置

来自分类Dev

在Struts 2中隐藏struts.xml值的参数

来自分类Dev

从内部类中访问Java actionlistener变量

来自分类Dev

解释在Java中访问内部类的方法?

来自分类Dev

Java android访问外部类中内部类的成员字段

来自分类Dev

Struts 2的jQuery内部HTML

来自分类Dev

在scriptlet中访问struts bean属性

来自分类Dev

在JavaScript中访问Struts模型的date对象

来自分类Dev

在JavaScript中访问Struts模型的date对象

来自分类Dev

在Struts 2中访问请求属性

来自分类Dev

Struts 2的XML验证错误

来自分类Dev

Struts struts-config.xml动作映射说明

来自分类Dev

在struts xml中声明/处理哪些异常

来自分类Dev

重置Struts中的密码实施

来自分类Dev

将 Struts 1 中的 Action 转换为等效的 Struts 2

来自分类Dev

访问内部类中的变量

来自分类Dev

从内部类中的with访问的变量

来自分类Dev

内部类中的变量访问

来自分类Dev

如何在Java中访问内部类(在assert中)

来自分类Dev

如何从Java中的封闭类访问内部类?

来自分类Dev

Java无法访问内部类中的受保护变量

来自分类Dev

无法访问Java中的内部类问题