了解struts的进来看看!

Times2001 2006-07-14 01:06:02
读过struts user guide一定见过下面的这段内容:
<!-- Generic edit* mapping -->
<action
path="/edit*"
type="org.apache.struts.webapp.example.Edit{1}Action"
name="{1}Form"
scope="request"
validate="false">
<forward
name="failure"
path="/mainMenu.jsp"/>
<forward
name="success"
path="/{1}.jsp"/>
</action>


In the action mapping and action forwards, the wildcard-matched values can be accessed with the token {N} where N is a number from 1 to 9 indicating which wildcard-matched value to substitute. The whole request URI can be accessed with the {0} token.

我的问题是,上面这段对{N}的解释如何翻译?N取值0-9为什么含义?
...全文
287 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Times2001 2006-07-17
  • 打赏
  • 举报
回复
通过读struts源码和试验得结论:
{0}代表“edit*”的实际内容,即包含了edit
{1}代表第一个“*”或“**”的实际内容
{2}代表第二个“*”或“**”的实际内容
依此类推......
Times2001 2006-07-17
  • 打赏
  • 举报
回复
目前还没有可信服的解释!
usiyuu 2006-07-17
  • 打赏
  • 举报
回复
发表自己的一点看法:{1}是文件的名字,在Action,From,Jsp的命名时最好使用同样的名字,这样很好匹配!
而path="/edit*"中的*号说可以随意一点!
不知道对不对!
smalllixin 2006-07-15
  • 打赏
  • 举报
回复
不是高手,不过看了好几遍,说说自己想法
整个请求的URI可以通过{0}访问 (直译)
我理解这种/edit* (好像是这种带*的)匹配方式称为wildcard-matched
因为它可能对应多个*.do,所以可以通过{1-9}来访问其中的某一个(称作substitute)
不知道对不对,希望能给lz点帮助
Times2001 2006-07-14
  • 打赏
  • 举报
回复
{1}代表“*”的实际内容
{0}代表“/edit*”的实际内容
{2}--{9}是不是和{1}一样?

有高手指点一下嘛?
lbx19822004 2006-07-14
  • 打赏
  • 举报
回复
不用太多去在意它,{1}只是一个统配符,代表你自己根据业务给Action或ActionFrom所取的名字,在实际中是不会用到的。

67,513

社区成员

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

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