使用 Struts 2 REST 插件时操作未映射错误

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

我编写了一个简单的代码来将 REST 与 Struts 2.3.24 集成。

我有我的 Struts XML:

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
                        "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.mapper.class"                      value="rest" />
    <!--  Overwrite Convention -->
    <constant name="struts.convention.action.suffix"          value="Controller"/>
    <constant name="struts.convention.action.mapAllMatches"   value="true"/>
    <constant name="struts.convention.default.parent.package" value="com.pag.rest.service"/>
    <constant name="struts.convention.package.locators"       value="service"/>
</struts> 

我的控制器类是:

package com.pag.rest.service;
public class RequestController {

    // GET 
    public String index() {
        return "SUCCESS";
    }

    // GET 
    public String show() {
        return "SUCCESS";
    }

    // POST
    public String create() {
        return "Create - SUCCESS";
    }

    // PUT 
    public String update() {
        return "SUCCESS";
    }

    // DELETE 
    public String destroy() {
        return "SUCCESS";
    }
}

每当我尝试访问该服务时,它都会显示

not found with action not mapped
异常。

请让我知道,为了使代码正常工作,我还需要做什么?

java rest struts2 action-mapping struts2-rest-plugin
1个回答
0
投票

父包应该是

rest-default
。将以下常量添加到配置文件
struts.xml

<constant name="struts.convention.default.parent.package" value="rest-default"/>

删除

<constant name="struts.convention.package.locators" value="service"/>

并将您的包名称重命名为

com.pag.rest.actions
。它将在
actions
文件夹下搜索您的控制器。

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