struts中的标签内的如何使用?

goneswing 2005-09-20 10:39:47
struts中的<action>标签内的<set-property>如何使用? 我有下面的配置
<action path="/Login" name="LoginForm" type="com.yaha.LoginAction">
<set-property property="task" value="login"/>
</action>
我想知道task参数可以在哪里使用,如何使用?
可以在LoginAction中使用吗?可以用的话,要怎样做呢?
...全文
257 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
goneswing 2005-09-26
  • 打赏
  • 举报
回复
没有人知道吗?
goneswing 2005-09-23
  • 打赏
  • 举报
回复
但是我这样试却不行. 我从ActionMapping继承了一个类,add following code
private String task;
public void setTask(String task){
this. task = task;
}

,然后在web.xml
<servlet>
<servlet-name>ActionServlet</servlet-name>
<display-name>ActionServlet</display-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/config/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>mapping</param-name>
<param-value>com.yaha.action.BaseActionMapping</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
这样在action中
BaseActionMapping baseActionMapping = (BaseActionMapping)mapping;
baseActionMapping.getTask();
则可以,why???
djpsunday 2005-09-21
  • 打赏
  • 举报
回复
一楼分析正确,这里作为有点类似SERVLET里的INIT()方法,这样在容器里,就可以在页面中<bean:write.....>操作了....
mxlmwl 2005-09-21
  • 打赏
  • 举报
回复
楼上正解。
hawaii_wx 2005-09-21
  • 打赏
  • 举报
回复
受教了,呵呵,我还是第一次看见这个标记
humanity 2005-09-20
  • 打赏
  • 举报
回复
<set-property> 是用来读取配置,并 填充到
Class.forName('Action的type'). newInstance() 后得到的 实例中去,
相当于你先 com.yaha.LoginAction action = new com.yaha.LoginAction();
然后 action.setTask("login");

这个主要是给 Action 提供一些其他初始化的机会,比如你的一个 Action 类配置在多个 ActionMapping 中,并且在不同的 ActionForm 中作类似但是不同的事情 , 或者你需要读取一些配置信息等。

struts-config.xml 中所有的 <set-properties> 都是这样用的,也就是说 你的 那个 class 属性或 type 属性对应的 类 有一个 对应的 property Setter 方法, 如上例中就是 :
public class LoginAction{
private String task;
public void setTask(String task){
this. task = task;
}

public ActionForward execute(
.../

}
}

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧