程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Struts2 redirectAction轉向時默認加pass的問題

Struts2 redirectAction轉向時默認加pass的問題

編輯:關於JAVA

項目中要轉發action,我就用

Xml代碼

<result name="success"  type="redirectAction">my.action</result>

但是今天再用的時候發現一個莫名其名的問題,程序轉向了一個不存在的url ,如下:

原來應該是這樣的:http://localhost:8080/focus/account/my.action

其中focus,是項目名,就是上下文路徑,account是命名空間,my.action是 我的action。

這樣才是對的,可是今天的url卻是 http://localhost:8080/focus/pass/account/my.action!pass

由於根本不存在這樣的url,就提示404錯誤。。

調試了很久才發現是加入了JCR170的問題,jcr170的bean文件不憤如下:

Xml代碼

<bean id="jcrSessionFactory"  class="org.springmodules.jcr.JcrSessionFactory">
         <property name="repository" ref="repository"/>
         <property name="credentials">
             <bean class="javax.jcr.SimpleCredentials">
                 <constructor-arg index="0" value="bogus"/>
                 <!-- create the credentials using a bean factory -->
                 <constructor-arg index="1">
                     <bean factory-bean="password"
                           factory- method="toCharArray"/>
                 </constructor-arg>
             </bean>
         </property>
         <!-- register some bogus namespaces -->
         <!--
         <property name="namespaces">
             <props>
                 <prop key="foo">http://bar.com/jcr</prop>
                 <prop key="hocus">http://pocus.com/jcr</prop>
             </props>
         </property>
         -->
         <!-- register a simple listener
         <property name="eventListeners">
             <list>
                 <bean  class="org.springmodules.jcr.EventListenerDefinition">
                     <property name="listener">
                         <bean  class="org.springmodules.examples.jcr.DummyEventListener"/>
                     </property>
                 </bean>
             </list>
         </property>
         -->
     </bean>
<!-- create the password to return it as a char[] -- >
     <bean id="password" class="java.lang.String">
         <constructor-arg index="0" value="pass"/>
     </bean>

上面就是關鍵代碼,id為password的值是pass,就是他跑到struts2的 redirectAction裡面!

目前具體原因不明,不過有解決方法,就是把

<!-- create the password to return it as a char[]  -->
     <bean id="password" class="java.lang.String">
         <constructor-arg index="0" value="pass"/>
     </bean>

注釋掉,然後修改:

<constructor-arg index="1">
<bean factory-bean="password" factory- method="toCharArray"/>
</constructor-arg>

為:

<constructor-arg index="1" value="pass"/>

就行了!!如果有知道原因的說一下,感激不盡!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved