我正在尝试用Apache Struts2实现我的项目,但我对这项技术不是很熟悉。同时,我发现在WEB-INF文件夹中创建Java Server Pages (JSP)页面是一种有效的方法。在论坛上,他们说这样做将提高网站的安全性,因为JSP页面不能直接通过URL访问,只能通过它的操作访问。
我同样构建了一些页面,但问题是我必须在我的所有操作中编写如下内容:
<action name=".." class=".." method=".." >
<result name="success"> /WEB-INF/pages/index.jsp</result>
</action> 我像这样写它得到了正确的结果;但是像这样写动作页是一个好方法吗?这会给我的项目带来什么问题吗?我可以使用命名空间在操作中删除这个/WEB-INF/吗?
发布于 2011-12-07 05:21:55
听起来你想要的是减少你的配置(至少是部分的)。请参阅“struts2-约定-插件”:http://struts.apache.org/2.2.3.1/docs/convention-plugin.html
默认情况下,它喜欢将页面放在其中(这很容易覆盖,但我并不麻烦):/WEB-INF/content/my-page.jsp
它确实节省了大量的xml配置。除了设置全局struts2参数(开发模式并将主题设置为simple)之外,我几乎不使用xml。除此之外,注解会处理剩下的事情。你应该试一试。
约定插件不会阻止您在合适的地方使用xml,因为xml优先,并且它在使用tiles时不会造成任何问题。
发布于 2011-12-07 05:09:22
/WEB-INF是必需的,因为它是指向JSP的一部分。package/action名称空间与JSP路径解析无关(在缺省包中,无论如何都没有插件)。
这也与Tiles无关;Tiles使用自己的配置文件,并且还需要JSP位置的完整路径名。在Struts2配置中,您将引用tile定义(并使用"tiles"结果类型)。
https://stackoverflow.com/questions/8406840
复制相似问题