对于操作方法:
@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 配置标志。