1

对于动作方法:

@Action("/hello/${name}")
public String world() {
   value = "Hello "+name+"!";
   return "#world";
}

/hello/world.jsp下如何渲染JSP WEB-INF?是否有一个配置替代方案来添加前缀resultPath.

谢谢阿南德

4

1 回答 1

0

目前没有这样的前缀(不过,好主意!我们将在下一个版本中添加它:)。

同时,您可以通过覆盖以下内容非常轻松地修改结果ResultMapper

public class MyResultMapper extends ResultMapper {

@Override
public String resolveResultPath(ActionConfig cfg, String resultValue) {
        String resultPath = super.resolveResultPath(cfg, resultValue);
        resultPath = "/WEB-INF" + resultPath;
        return resultPath;
    }
}

现在您所要做的就是注册您的结果映射器。您可以通过多种方式做到这一点;一种方法可能是执行以下步骤:

WebApplication1)通过在以下位置注册来添加您的自定义 Madvoc web.xml

<filter>
    <filter-name>madvoc</filter-name>
    <filter-class>jodd.madvoc.MadvocServletFilter</filter-class>
    <init-param>
        <param-name>madvoc.webapp</param-name>
        <param-value>....MyWebApplication</param-value>
    </init-param>
...
</filter>

2)然后实现它:

public class MyWebApplication extends WebApplication {

    @Override
    public void registerMadvocComponents() {
        super.registerMadvocComponents();
        registerComponent(MyResultMapper.class);
    }

完成,您不必更改任何 Madvoc 操作,所有 JSP 现在都在 WEB-INF(或您放置的任何文件夹)下搜索。

编辑:正如承诺的那样,请参阅latest commit,它添加了新的 Madvoc 配置标志。

于 2013-10-06T21:30:48.697 回答