[Struts2]struts2的关于method=“{1}"意思详解

转自 http://blog.csdn.net/mjl960108/article/details/53523676

<action name= "Login_*"  method= "{1}"  class= "mailreader2.Login">

 中Login_*带*是什么意思?method= “{1} “带{}这个是什么意思?
  
解答:
 name= “Login_* ”
  代表这个action处理所有以Login_开头的请求
  method= “{1} ”
  根据前面请求Login_methodname,调用action中的以methodname命名的方法
  class= “mailreader2.Login ”
  action的类名称
  如jsp文件中请求Login_validateUser的action名称,根据上面配置,调用action类mailreader2.Login类中方法validateUser()
  又如:
  对于Login_update请求,将会调用mailreader2.Login的update()方法。

Action Wildcard(Action 通配符)
  配置:

<package name="actions" extends="struts-default" namespace="/actions">
  <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
  <result>/Student{1}_success.jsp</result>
  </action>
  <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
  <result>/{1}_{2}_success.jsp</result>
  <!-- {0}_success.jsp -->
  </action>
  </package>

  {1}、{2}表示第一第二个占位符
  *为通配符
  通过action name的通配匹配,获得占位符,可以使用占位符放在result和method、class中替代匹配的字符。
  总结:
  使用通配符,将配置量降到最低。

   <a href="<%=context %>/actions/Studentadd">添加学生
  <a href="<%=context %>/actions/Studentdelete">删除学生
   <a href="<%=context %>/actions/Teacher_add">添加老师
  <a href="<%=context %>/actions/Teacher_delete">删除老师
  <a href="<%=context %>/actions/Course_add">添加课程
  <a href="<%=context %>/actions/Course_delete">删除课程 

  不过,一定要遵守”约定优于配置”的原则。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章