刚开始学习struts2,直接就接触的是最新版本的2.1.6 ,貌似版本与以往的有很多不同之处
所以好多网上的资料都不管用,开始接触标签了,却发现标签无法导入
在2.1.6版本中无法找到struts-tags.tld这个文件,网上找到的好多资料都无效果,
<%@ taglib prefix="s" uri="/struts-tags"%>
都是提示找不到
由于servlet2.4和2.5规范都支持直接导入标签,所以无法在web.xml中配置
<taglib....
所以在struts2.0.11包中找到了一个struts-tags.tld文件
修改web.xml文件为使用2.3规范
<taglib>
<taglib-uri>/struts-tags</taglib-uri>
<taglib-location>/WEB-INF/struts-tags.tld</taglib-location>
</taglib>
网上很多配置为
<taglib>
<taglib-uri>/struts-tags</taglib-uri>
<taglib-location>/WEB-INF/lib/struts-core-2.XX.jar</taglib-location>
</taglib>
经过测试无效,因为struts-core-.2.1.6.jar文件中根本没有struts-tags.tld
标签算是导入了接着编写一个简单form表单
<s:form action="core/user/reg.do">
<s:textfield name="loginName"/>
<s:textfield name="email" />
<s:textfield name="disabled" />
<s:submit label="reg"/>
</s:form>
编写一个struts.properties文件加入
。。
struts.ui.theme=simple
struts.ui.templateDir=template
。。
启动tomcat运行 提示
can'T find template/simple/form-close.ftl....
我想应该是默认模板配置的问题
在struts-core-2.1.6.jar 没有找个所谓的template/simple
之后在
下载的源码包中
struts-2.1.6-all\struts-2.1.6\src\core\src\main\resources\template
找到了所以需要的四组ftl模板文件
于是修改struts.properties配置如下
。。
struts.ui.theme=simple
struts.ui.templateDir=/WEB-INF/ftl_lib/ui
。。
之后在/WEB-INF 下建立
ftl_lib/ui/simple
将源码包中simple目录下的ftl文件copy到此目录下
注意在struts.properties文件中我们配置为
struts.ui.templateDir=/WEB-INF/ftl_lib/ui
而在建立目录的什么却要建立为ftl_lib/ui/simple
这也是我目前所不能理解的。
因为身边没有精通struts2的人都是自己一个学,问题太多,可能很基础