【问题标题】:error: The value for the useBean class attribute user.CompileClasss is invalid [duplicate]错误:useBean 类属性 user.CompileClasss 的值无效 [重复]
【发布时间】:2011-03-24 11:38:48
【问题描述】:

我得到一个 useBean 类属性 user.CompileClasss 的值无效这些是我的文件:

index.jsp

<%@ page session="true" %>
<%@ page import="user.CompileClass" %>

<jsp:useBean id="user1" class="user.CompileClasss" scope="session" />
<jsp:setProperty name="user1" property="*"/>
<html>  
  <body>
    <FORM METHOD=POST ACTION="Result.jsp">
What's your name? <INPUT TYPE=TEXT NAME=uname SIZE=20><BR>
What's your e-mail address? <INPUT TYPE=TEXT NAME=email SIZE=20><BR>
What's your age? <INPUT TYPE=TEXT NAME=age SIZE=4>
<P><INPUT TYPE=SUBMIT>
</FORM>
  </body>
</html>

CompileClass.java

package user;

public class CompileClass {
    public String uname;
    public String mail;
    public int age;

    /*public CompileClass(String uname, String mail, int age) {
        this.uname=uname;
        this.mail=mail;
        this.age=age;
    }*/ 
    public CompileClass(){
    }



    public String returnname(){
        return uname;
    }
    public String   returnmail(){
        return mail;
    }
    public int returnage(){
        return age;
    }


/*public void main()
{


}*/
}

Result.jsp

<jsp:useBean id="user1" scope="session" class="user.CompileClass" />
<html>

  <body>
   You entered:<BR>

Name: <%= user1.returnname() %>  <BR/> 
Email: <%= user1.returnmail() %><BR>
Age: <%= user1.returnage() %><BR>
  </body>
</html>

有什么帮助吗?

【问题讨论】:

  • 您为什么接受一个根本没有回答具体问题“useBean 类属性 user.CompileClasss 的值无效”的答案?在错误页面中出现jsp:setProperty 与此无关。
  • @BalusC 我接受了它,因为我的整个代码太混乱而且是错误的,而这个答案解决了我在重写代码中的一个问题。
  • 您在标题和问题正文中所述的初始问题“错误:useBean 类属性 user.CompileClasss 的值无效”没有得到回答,因此答案没有用并误导其他通过谷歌搜索错误消息偶然发现此问题的人。

标签: java jsp javabeans


【解决方案1】:

您的 JavaBean 格式有误。阅读this article 以获得解释。

更新:JavaBean 的错误格式破坏了这行代码:

<jsp:setProperty name="user1" property="*"/>

应用服务器找不到表单参数和 bean 字段之间的映射。

还有一个问题,你应该放置

<jsp:setProperty name="user1" property="*"/>

进入 Result.jsp,因为没有定义属性,当 Index.jsp 运行时。

【讨论】:

  • 我接受它的格式不符合维基百科上的描述,但这是否意味着它不起作用。介意解释一下吗?
  • 在您指出的所有内容中,我认为这是罪魁祸首。我应该将&lt;jsp:setProperty name="user1" property="*"/&gt; 放入 Result.jsp 以使其工作。谢谢。
【解决方案2】:

useBean类属性user.CompileClasss的值无效

这个等于ClassNotFoundException。事实上,你的类名中有一个 s 太多了。

替换

class="user.CompileClasss"

通过

class="user.CompileClass"

与具体问题无关@page import 完全没有必要。去掉它。你的班级也不遵守Javabeans specification。 getter 方法需要以get 为前缀,相应地修复它。您也不能使用 scriptlets &lt;% %&gt; 访问它。请改用 EL ${}

另见:

【讨论】:

    【解决方案3】:

    我认为你没有放置编译的类。

    【讨论】:

    • 我正在使用 MyEclipse,当我通过资源管理器从文件夹结构中检查时,它已正确放置。
    猜你喜欢
    • 2010-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 2013-11-04
    相关资源
    最近更新 更多