2011-06-22 12 views
1

いいえ、最初にいくつかのコード。ここに私のdisplayCollection.tagの内容です:SetProperty:必須の属性プロパティがありません

<%@ tag body-content="scriptless" import="com.serco.inquire.*" %> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ attribute name="mgr" required="true" %> 
<jsp:useBean id="irc" scope="session" class="com.serco.inquire.irCollection"> 
<jsp:setProperty name="mgrid" value="${mgr}" /> 
</jsp:useBean> 
${irc.mgrid} 

ここから、私はそれを呼んでいるJSP(myq.jsp)です:

<%@page language="java" import="java.util.*,com.serco.inquire.*" %> 
<%@ taglib prefix="inq" tagdir="/WEB-INF/tags" %> 
<inq:displayCollection mgr="Chris Novish" /> 

ここでは、タグ・ファイルで使用さirCollectionのJavaクラスは、(です):

package com.serco.inquire; 
import java.sql.*; 
import java.util.*; 
public class irCollection { 
public String mgrid; 
public irCollection() { 
super(); 
} 
public void setMgrid(String datum) { 
this.mgrid = datum; 
} 
public String getMgrid() { 
return this.mgrid; 
} 
} 

そして最後に、ここで私がmyq.jspを実行しようとすると、私が手にエラーがあります:

org.apache.jasper.JasperExceptionが: /WEB-INF/tags/displayCollection.tag(7,2) てSetProperty:必須属性 org.apache.jasper.compiler.DefaultErrorHandler.jspErrorが欠落し プロパティ(DefaultErrorHandler.java :41) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:198) org.apache.jasper.compiler。 JspUtil.checkAttributes(JspUtil.java:174) org.apache.jasper.compiler.Validator $ ValidateVisitor.visit(Validator.java:595) org.apache.jasper.compiler.Node $ SetProperty.accept(Node.java: 1150) org.apache.jasper.compiler.Node $ Nodes.visit(Node.java :2376) org.apache.jasper.compiler.Node $ Visitor.visitBody(Node.java:2428) org.apache.jasper.compiler.Validator $ ValidateVisitor.visit(Validator.java:647) org.apache。 jasper.compiler.Node $ UseBean.accept(Node.java:1182) org.apache.jasper.compiler.Node $ Nodes.visit(Node.java:2376) org.apache.jasper.compiler.Node $ビジター。 visitBody(Node.java:2428) org.apache.jasper.compiler.Node $ Visitor.visit(Node.java:2434) org.apache.jasper.compiler.Node $ Root.accept(Node.java:475) (org.apache.jasper.compiler.Node) .generateJava(Compiler.java:216)(org.apache.jasper.compiler.Compiler.compile) (Compiler.java:339) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:231) org.apache.jasper。 compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:577) org.apache.jasper.compiler.TagFileProcessor.access $ 000(TagFileProcessor.java:48) org.apache.jasper.compiler.TagFileProcessor $ TagFileLoaderVisitor.visit(TagFileProcessor.java :642) org.apache.jasper.compiler.Node $ CustomTag.accept(Node.java:1539) org.apache。 jasper.compiler.Node $ Nodes.visit(Node.java:2376) org.apache.jasper.compiler.Node $ Visitor.visitBody(Node.java:2428) org.apache.jasper.compiler.Node $ビジター。訪問(Node.java:2434) org.apache.jasper.compiler.Node $ Root.accept(Node.java:475) org.apache.jasper.compiler.Node $ Nodes.visit(Node.java:2376) org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:660) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:228) org.apache.jasper.compiler.Compiler.compile (Compiler.java:372) org.apache.jasper.compiler.Compiler.compile(コンパイラ。java:352) org.apache.jasper.compiler.Compiler.compile(Compiler.java:339) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) org.apache.jasper.servlet.JspServletWrapper .service(JspServletWrapper.java:344) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax。 servlet.http.HttpServlet.service(HttpServlet.java:722)

それはdisplayCollection.tagを呼び出したときに私の知る限り、属性MGRがmyq.jspに設定されている

、およびdisplayCOllection.tagの専用属性(必須)はmgrです。だから私は何を誤解していますか?

答えて

2

jsp:setPropertyタグを詳しく見てください。 name属性は、実際にはjsp:useBeanに宣言されたBeanの属性idです。したがって、 "irc"にする必要があります。 property属性はsetPropertyに必須で、設定しようとしている実際のプロパティです。

関連する問題