此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【xwj1003】截止到2008-07-02 11:09:54的历史汇总数据(不包括此帖):
发帖的总数量:52                       发帖的总分数:645                      
结贴的总数量:48                       结贴的总分数:565                      
无满意结贴数:11                       无满意结贴分:170                      
未结的帖子数:4                        未结的总分数:80                       
结贴的百分比:92.31 %               结分的百分比:87.60 %                  
无满意结贴率:22.92 %               无满意结分率:30.09 %                  
值得尊敬

解决方案 »

  1.   

    通配符能做到
    <action path="/**viewuser"........... 
      

  2.   

    如果你想了解更多,那就找找通配符的文章,我收藏了一个 最近用到struts,发现在配置ActionMapping的时候有个偷懒的方法--使用通配符,然而网上说的较详细的不多,便在此分享一下自己的经验。 
            在不使用通配符的常规做法中,我们要配置很多个ActionMapping,举个不是很恰当的例子,有个信息表,需要ADSM(增加、删除、查询、修改)操作,那么我们要配置4个ActionMapping,类似下面这样:
    <action path="/addSubscription" 
      type="org.apache.struts.webapp.example.EditSubscriptionAction" 
      name="subscriptionForm" 
      scope="request" 
      validate="false"> 
         <forward name="failure" path="/failure.jsp"/> 
         <forward name="success" path="/subscriptionaddsuccess.jsp"/> 
    </action> <action path="/editSubscription" 
      type="org.apache.struts.webapp.example.EditSubscriptionAction" 
      name="subscriptionForm" 
      scope="request" 
      validate="false"> 
         <forward name="failure" path="/failure.jsp"/> 
         <forward name="success" path="/subscriptioneditsuccess.jsp"/> 
    </action> 
    ......        自struts1.2.0,就可以用通配符,可以写成如下形式:
    <action path="/*Subscription" 
      type="org.apache.struts.webapp.example.EditSubscriptionAction" 
      name="subscriptionForm" 
      scope="request" 
      validate="false"> 
         <forward name="failure" path="/failure.jsp"/> 
         <forward name="success" path="/subscription{1}success.jsp"/> 
    </action> 
            这样,用这段配置,就可以通配(代替)上面冗长配置了。
            先简单解释一下,使用通配符这段,关键点有两处,第一:path="/*Subscription",这里使用了*来通配前面的add和edit,第二:<forward name="success" path="/subscription{1}success.jsp"/> ,这里使用{1}来表示*所代表的--也就是说,如果在页面表单里面这样写<form action="/editSubscription.do">,那么forward到success的时候,就是forward到/subscriptioneditsuccess.jsp页面。
            现在详细介绍一下通配符的用法。struts配置文件中<action>标签的path属性,可以使用下列三种通配符:
    *                      :可以匹配0个或多个字符,但不能匹配"/"
    **                    :可以匹配0个或多个字符,且可以匹配"/"     
    \character     :用来转译*和\        通配符所代表的实际的值可以用{N}来引用,其中N可以等于0~9。N的含义是:
    {0}   代表整个path代表的所有字符--不包括第一个/,如path=“/*Subscription”中的*是add,那么{0}就是addSubscription。
    {1}   代表第一个通配符(包括*, **, \character)所表示的实际内容,如path=“/*Subscription”中的*是add,那么{1}就是add。
    {2}   代表第二个通配符(包括*, **, \character)所表示的实际内容,如path=“/*Subscription*”中的第一个*是add而第二个*是test,那么{1}就是add,{2}就是test
    {3}~{9}   类似{1}, {2}        可以使用{N}的<action>属性有:
    type 
    name 
    roles 
    parameter 
    attribute 
    forward 
    include 
    input 
            可以使用{N}的<forward>属性有:
    path