您的位置:首页 > 编程语言 > Java开发

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

2017-11-14 09:44 330 查看
转自 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">删除课程


  不过,一定要遵守”约定优于配置”的原则。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: