一个简单的问题。
如何一起使用“简单主题”()和“dojo datetimepicker”()?
我已经读过如果您只想使用简单主题,那么使用head.ftl中的代码手动导入所有必需的dojo文件...
事情是所有那些js都在struts dojo jar文件中,它包含在类路径中。我怎样才能将它们包含在jsp中?整条道路应该是什么?任何例子都会有所帮助。
答案 0 :(得分:0)
<强> Performance Tuning 强>
<强> 1。启用Freemarker模板缓存
在2.0.10之前的Struts版本中, 你必须复制/模板 来自Struts 2 jar的目录 你的WEB_APP根用于利用 Freemarker内置了chaching 机制以实现类似 结果
内置的Freemarker缓存 机制无法正确缓存 从中检索模板 类路径。将它们复制到 WEB_APP root允许Freemarker 正确缓存它们。 Freemarker看起来 在最后修改时间 模板,以确定是否需要 重新加载模板。资源 从类路径中检索到没有 最后修改时间,所以Freemarker会 每次请求都会重新加载它们。
<强> 2。覆盖主题时,将所有必要的模板复制到主题中 。目录
当a时有性能成本 在模板中找不到 当前目录。原因就在于此 是Struts 2必须检查一个 首先是当前主题中的模板 在回到父母之前 主题。在将来,这个惩罚 可以通过实施a来消除 Struts 2中缺少模板缓存。
示例强>
YourWebApp |-- WebContent |-- templates |-- ajax |-- controlheader.ftl, datetimepicker.ftl, dojoRequire.js, head.ftl |-- simple |-- [All files] |-- xhtml |-- controlfooter.ftl, controlheader-core.ftl, controlheader.ftl, tooltip.ftl, validation.js
<struts>
<constant name="struts.ui.templateDir" value="templates" />
<constant name="struts.ui.theme" value="simple" />
</struts>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<head>
<sx:head />
</head>
<body>
<sx:datetimepicker name="date" />
</body>
Ajax标记的 Datetimepicker 很糟糕,您是否考虑过 jQuery UI Timepicker/Datetimepicker ?