8

このエラーが発生しています

/WEB-INF/jsp/account/index.jsp(6,0) デフォルトの名前空間が指定されていない場合は、関数 getMessageData を接頭辞とともに使用する必要があります

<c:set var="messageData" scope="session" value="${usermap.getMessageData()}"/>
<c:set var="scheduleData" scope="session" value="${usermap.getScheduleData()}"/>
<c:set var="meetingData" scope="session" value="${usermap.getMeetingData()}"/>

同じプロジェクトをローカルの Tomcat でエラーなく実行できることに注目してください。

サーバー上のTomcatのバージョンは「Tomcat 6.0」です

4

2 に答える 2

6

これを試して:

<c:set var="messageData" scope="session" value="${usermap.messageData}"/>
<c:set var="scheduleData" scope="session" value="${usermap.scheduleData}"/>
<c:set var="meetingData" scope="session" value="${usermap.meetingData}"/>

その理由は、EL が「get」を削除し、getter メソッドから最初の文字を小文字にするためです。通常、変更された getter 名に一致するフィールドがありますが、必須ではありません。

(実際には逆です。usermap.messageData を実行すると、EL は自動的にそれを usermap.getMessageData() に変換します。そのメソッドが存在しない場合は、例外が発生します。)

于 2013-09-23T14:07:43.420 に答える