我正在尝试开发一个简单的HTTP-Servlet来渲染Velocity模板。
我的Servlet:
Map<String, Object> context = Maps.newHashMap();
resp.setContentType("text/html;charset=utf-8");
templateRenderer.render("/templates/test/input.vm", context, httpRespnse.getWriter());
Atlassian的-plugin.xml的
<webwork1 key="newactions1" name="New actions1" class="java.lang.Object">
<actions>
<action name="test.ActionAlpha" alias="FirstNewAction">
<view name="success">/templates/test/input.vm</view>
<view name="error">/templates/test/input.vm</view>
<view name="input">/templates/test/input.vm</view>
</action>
</actions>
</webwork1>
(参见:https://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Internationalising+Your+Plugin)
到目前为止一切正常,但在页面渲染后,左侧的菜单栏丢失了(网页中的其他菜单 - 网站)
如果我手动在浏览器中调用URL,操作名称后面带有“!default”,则会显示侧栏。
http://host:port/jira/secure/FirstNewAction!default.jspa
但是如果我在没有“!default”的情况下调用URL,则输出与servlet生成的相同。 TemplateRenderer是否有可能添加“!default”术语?
答案 0 :(得分:2)
我想
Map<String, Object> context = Maps.newHashMap();
templateRenderer.render("/templates/test/input.vm", context, httpRespnse.getWriter());
将空映射传递给render方法,如果省略context参数,则应传递包含webResources的默认上下文。另一个想法是添加像
这样的东西meta name="decorator" content="atl.admin"
到头部