Jodd Madvoc:结果映射到文件夹下的JSPs,比如WEB-INF



对于操作方法:

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

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

谢谢阿南德

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

同时,您可以通过覆盖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;
    }
}

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

1) 通过在web.xml中注册来添加您的自定义 Madvoc WebApplication

<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(或您放置在那里的任何文件夹)下搜索。

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

相关内容

  • 没有找到相关文章

最新更新