1

ローカルの weblogic 8.1 サーバーに ear ファイルをデプロイすると、問題なく動作します。しかし、Weblogic 11g にデプロイすると、エラーが発生します。

これがシナリオです–

アプリケーションの最初のページで、ユーザーを選択するよう求められます。ユーザーを選択すると、RolesAction が実行され、ユーザーに関連付けられているロールがドロップダウンとして表示されるロール ページに移動します。

Argus アプリケーションをデプロイし、テスト ログイン ページでユーザーを選択すると、RolesAction クラス全体が実行されますが、ドロップダウンでそのユーザーに関連付けられたロールを含むページを取得する代わりに、「エラー 404—見つかりません」というエラー ページとログ ファイルが表示されます。以下のエラーが発生します。

<Mar 20, 2011 8:20:42 PM GMT> <Error> <HTTP> <BEA-101017> <[ServletContext@406125315[app:ArgusDEV module:ArgusWeb path:/ArgusWeb spec-version:null]] Root cause of ServletException.

java.lang.NoSuchMethodError: org/apache/struts/config/ForwardConfig.getContextRelative()Z

            at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:298)

            at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:232)

            at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)

            at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)

            at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

入力はありますか??

私の Roles.jsp には、次のような tld 宣言があります。

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

tld 宣言に関する問題はありますか?

考え?

ありがとう!

編集:

ユーザーを選択するアプリケーションで表示される最初のページは、Login.jsp です。この jsp では、以下のように tld が宣言されています。 このページが表示されます。ただし、roles.jsp ページでエラーが発生します。

Login.jsp tld 宣言:

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

両方の jsp に同じ tld 宣言があり、1 つは表示されますが、もう 1 つはエラーになります。

アイデア?

編集:

Roles.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="css/arg.css" />


</head>
<form name="rolesForm" method="post">

<logic:present name="VIEW_BEAN" scope="request">
<logic:notEmpty name="VIEW_BEAN" property="userId" scope="request">
    <input type="hidden" name="Id" value="<bean:write name="VIEW_BEAN"     property="userId"/>">
</logic:notEmpty>
</logic:present>
<table border="0" cellpadding="1" cellspacing="0" width="95%" bgcolor="#FFFFFF">
 <tr>
<td height="19">&nbsp;</td>
 </tr>
<tr>
<td width="100%" align="center" class="epi-dataTableLiteNew">
 <font size="2"><b>Select a Role:</b>&nbsp;</font>
 <select size="1" name="roleType" class="textbox" ">
            <option value="">Select ---</option>
            <logic:notEmpty name="VIEW_BEAN" property="roleList" scope="request">
                <logic:iterate id="record" name="VIEW_BEAN"     property="roleList" scope="request">
                <option value="<bean:write name="record"     property="roleID"/>"><bean:write name="record" property="roleName"/></b></option>
                </logic:iterate>                
            </logic:notEmpty>
        </select>
<input type="submit" value="Submit" onClick="return selectRole()" style="border:1px     ridge #000000; height:22px; font-weight:bold cellpadding="0" cellspacing="0" 100%>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</td>

</tr>
</table>
</form>     
</body>
</html>

ログイン.jsp

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<html>
<head>
</head>
<%@ page 
language="java"
%>
<meta http-equiv="Content-Type" content="text/html" />
<link rel="stylesheet" type="text/css" href="css/arg.css" />

<title>Home</title>


 <%
  String userid=request.getHeader("user");
  String isLoginPage=request.getParameter("isUser");

%>
<!-- Please select the user from the list and press continue: &nbsp; -->
 <form name="homePageForm" action="RolesAction.do" method="post">

 </form>
</body>
</html>

編集:

struts-config.xml

<action
  path="/roles"
  name="HomePageForm"
  type="org.springframework.web.struts.DelegatingActionProxy"
  scope="request">
  <forward name="success" path=".rolespage"/>
</action>

URL パターンに対して呼び出されるアクションは、spring.xml ファイルにあります。

4

2 に答える 2

2

アプリケーションのlibフォルダーをチェックして、struts-core-1.3.8.jarとstruts.jarを見つけました。例外がスローされたのはこのためです。

struts.jarには、forwardConfigクラスとgetContextRelative()メソッドがあります。

struts-core-1.3.8.jarにはforwardConfigクラスがありますが、getContextRelative()メソッドはありません。

これが問題の原因でした。

したがって、struts.jarを削除して、1.3.8バージョンが使用されるようにします。

-さらに、struts-extras-1.3.8.jarをアプリケーションライブラリに追加します

--jspで、タグliburiを次のように修正します。

<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> 

<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> 

これは問題を解決します

于 2011-03-30T08:32:56.703 に答える
1

Struts 1.1 <%@ taglib uri = "http://jakarta.apache.org/struts/tags-html" prefix = "html"%>

Struts 1.2.x <%@ taglib uri = "http://struts.apache.org/tags-html" prefix = "html"%>

上記のタグliburiを使用してください。希望があなたの問題を解決します。

于 2011-03-24T05:48:07.770 に答える