NetBeans を使用して JSP プロジェクトに取り組んでいます。
「useBeanクラスの属性変数.Playerの値が不正です。」というメッセージが表示されます。StackOverflow でこの質問の他のバージョンを見てきましたが、主な原因は
- クラスが適切なディレクトリにあることを確認してください。私の場合は WEB-INF/classes/variables/Player.class です。
- Player クラスには、引数なしのパブリック コンストラクターがあります。
- 大文字と小文字の区別に注意して、すべてが正しく綴られています。
- use Bean 行の後に set プロパティ行が必要です。
したがって、1〜3はすべて適切に設定されていました。set プロパティ行を追加しようとしましたが、まだ実行されません。コードを投稿する前に、以下も追加します。
netbeans からローカルで実行すると、すべて正常に動作します。問題は、サーバーにアップロードしたときにのみ発生します。Netbeans とサーバーは両方とも、サーブレット コンテナー用に Tomcat7 を実行しています。OK、これがエラーの原因となっている JSP コードの一部です
<html>
<head>
<jsp:useBean id="me" class="variables.Player" scope="session"/>
<jsp:setProperty name="me" property="*" />
<jsp:useBean id="allGames" class="variables.BoardList" scope="application"/>
<jsp:setProperty name="allGames" property="*" />
<%@page import="utilities.Utils" %>
これが私の Player クラス コードの始まりです。(クラス全体を表示するように編集されています)
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package variables;
/**
*
* @author MagillaGorilla
*/
public class Player {
public int number;
public int boardID;
public String name;
public Player() {
number=0;
boardID=-1;
name="Player0";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getBoardID() {
return boardID;
}
public void setBoardID(int boardID) {
this.boardID = boardID;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
}
問題があるかどうかはわかりませんが、サーバーにアップロードする方法は次のとおりです。
私はクリーンアップを行い、netbeans をビルドします。ftp を使用して project.war ファイルをサーバーにアップロードします。私のサーバーは Ubuntu 12.10 x32 サーバーです。次を使用してファイルの警告を解除します。
jar xvf project.war
netbeans が問題なく実行するので、全体が特にイライラします! どんな助けでも大歓迎です。これを読んでくれてありがとう。