我有一段代码:
[code="java"]
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
html:html
#set( $velocity = "Velocity")
/html:html
[/code]
请问大虾,velocity中如何使用Struts标签?
[b]问题补充:[/b]
就是能不能使用Struts中的文本框,类表框~~~~~啊什么的
[b]问题补充:[/b]
怎么引用Struts中的文本框标签?
[b]问题补充:[/b]
lovewhzlq:这个我也知道,但是可不可以在.vm文件中这样用:
不能这么搞,velocity引擎是没法解析struts的标签
Struts和Velocity集成相当的简单, 有Struts的基础的人, 可以说一看就明白啦.呵.
下面就简单的说下这个过程:
第一步, 在web.xml中加入Velocity servlet
velocity
org.apache.velocity.tools.view.servlet.VelocityViewServlet
<load-on-startup>10</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
这样, 所有的以vm结尾的文件, 都会交到Velocity Servlet处理, 上面注释掉的一部分, 是toolbox 是声明应用程序的可用工具的位置.如果要用这个工具的话, 记得把注释去掉哟.我下面就用了, 但为了记得明白, 就不去注释了.嘿
第二步, 就是把toolbox.xml放到/WEB-INF下喽.
不过说一句, 如果你想在页面中全部使用Velocity的话, 这个是得加的, 反之, 你想在页面中用Struts标签和Velocity的话, 这个工具就可以省略啦
这个toolbox.xml在 Velocity 工具下载中找到, 也可以自己写一个啦.
<?xml version="1.0"?>
link
request
org.apache.velocity.tools.struts.StrutsLinkTool
<tool>
<key>msg</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.MessageTool
</class>
</tool>
<tool>
<key>errors</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.ErrorsTool
</class>
</tool>
<tool>
<key>form</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.FormTool
</class>
</tool>
<tool>
<key>tiles</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.TilesTool
</class>
</tool>
<tool>
<key>validator</key>
<scope>request</scope>
<class>
org.apache.velocity.tools.struts.ValidatorTool
</class>
</tool>
第三步, 修改struts-config.xml
其实也就是把View层的JSP换成VM而已.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<global-forwards>
<forward name="welcome" path="/welcome.do" />
</global-forwards>
<action-mappings>
<action path="/welcome"
type="org.apache.struts.actions.ForwardAction"
parameter="/pages/search.vm" />
<action path="/search"
type="com.puras.test.velocity.SearchAction"
name="searchForm"
scope="request"
input="/pages/search.vm">
<forward name="success" path="/pages/results.vm" />
</action>
</action-mappings>
第四步, 创建Velocity模版
这个Demo中只用到了两个VM文件,
分别如下, 里面用到了Velocity的工具哟
search.vm:
results.vm:
<b>Name:</b> $user.name<br />
<b>Age:</b> $user.Age<br />
<b>Sex:</b> $user.sex<br />
</body>
除了JavaScript之外,没有什么语言是所有架构都支持的。