日期:2014-05-16  浏览次数:20367 次

Struts:Action在JSP页面中如何通过Link调用

使用Struts的朋友们都知道,一般Action是和Form紧密结合的。那么,超链接是否可以调用Action呢?答案是肯定的。但是,需要用到Struts定义的HTML Tag:?<html:link />

通过<html:link />可以指定Action的path值,并且可以传入需要的参数。例如:
<html:link action="/docDelete?id=1"/>

这里,/docDelete 其实是Action的一个标识符,凡是指向该路径的需求都会交给与之对应的Action进行处理。当然,这个标识符需要在Struts的配置文件中进行指定:

<action path="/docDelete" scope="request" type="YourActionClassName">
<forward name="success" path="YourPath" redirect="true"/>
</action>

如果用的Action是DispathAction,就需要在Action中指定一个传递方法名称的参数:parameter="method"。
<action?parameter="method"?path="/docDelete" scope="request" type="YourActionClassName">
<forward name="success" path="YourPath" redirect="true"/>
</action>

这样在上面的<html:link />中就需要通过method这个参数传递需要执行的方法名称,比如:
<html:link action="/docDelete?id=1&method=delete"/>

这里,parameter的值不一定要求非是method不可,只要保证Struts配置文件的值和JSP页面中调用时所使用的值一致即可。但为了可读性,还是使用method比较好!