【问题标题】:How to put an object into JSP variable?如何将对象放入 JSP 变量中?
【发布时间】:2011-12-22 18:02:16
【问题描述】:

我已经收集了我想在我的自定义标签中使用的对象。但是我只能获取一次集合元素,因为它在获取后会迭代到下一个。所以我决定定义一个变量。但它不起作用。

<jsp:useBean id="rw" scope="request" class=
"by.epam.web.libruary.transferobject.AvailableBookSet">
    <c:set var="element"
        value="${rw.element}"
        scope="page"/>
    <mytag:bodyattr num="${rw.size}">
        <form name="orderBook" method="POST" action="${controllerpage}">
            <input type="submit" name="submit" 
              value="${rw.element.shortinfo}">
        </form>
    </mytag:bodyattr>
</jsp:useBean>

这里是集合本身的代码:

public class AvailableBookSet extends java.util.HashSet {
    private java.util.Iterator it;

    @SuppressWarnings("unchecked")
    public AvailableBookSet(){

            try {
                    //Retrieving info from DataBase (100% working code)

            } catch (CannotTakeConnectionException e) {
            }
    }

    public String getSize(){
            it = this.iterator();
            return Integer.toString(this.size());
    }

    public Object getElement(){
            return it.next();
    }

}

这是我的例外:

org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/available_books.jsp at line 51

48:     
49:     <jsp:useBean id="rw" scope="request" class=
50:     "by.epam.web.libruary.transferobject.AvailableBookSet">
51:         <c:set var="element"
52:             value="${rw.element}"
53:             scope="page"/>
54:         <mytag:bodyattr num="${rw.size}">

非常感谢您的帮助。

【问题讨论】:

    标签: jsp tags javabeans


    【解决方案1】:

    除非您在帖子中省略了一些关键代码,否则当您调用 .getElement() 方法时,itnull。对.next() 的调用将抛出NullPointerException

    尝试颠倒这两行的顺序:

    <c:set var="element" value="${rw.element}" scope="page"/>
    <mytag:bodyattr num="${rw.size}">
    

    【讨论】:

    • 这是我尝试做的第一件事。但我也有同样的例外。
    • 切换时异常是来自c:set标签还是mytag:boddyattr标签?
    • 我的自定义标签中有异常。不知道为什么,但它(定义一个变量)在它的体内不起作用。使用通常的 标签进行了更改,现在可以使用了。
    猜你喜欢
    • 1970-01-01
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-03-22
    相关资源
    最近更新 更多