为什么setProperty只执行了一次?

Problem pro[] = new Problem[num];

    Random r = new Random();//随机数

    int a, b;//两个一位整数

    char symbol;//四则运算符号


    char ops[] = {'+', '-', '*', '/'};

    for (int i = 0; i < num; i++) {

        a = r.nextInt(9);

        b = r.nextInt(9);

        symbol = ops[r.nextInt(4)];

        String standard = "";//算术题正确答案

        String title = "";//题目

        switch (symbol) {

            case '+':

                standard = String.valueOf(a + b);

                title = a + "+" + b;

                break;

            case '-':

                standard = String.valueOf(a - b);

                title = a + "-" + b;

                break;

            case '*':

                standard = String.valueOf(a * b);

                title = a + "*" + b;

                break;

            case '/':

                standard = String.valueOf((float) a / b);

                title = a + "/" + b;

                break;

        }


%>

<jsp:useBean id="QUESTION" class="newpackage.Problem" scope="session"></jsp:useBean>

<jsp:setProperty name="QUESTION" property="question" value="<%=title%>"/>

<jsp:setProperty name="QUESTION" property="standardanswer" value="<%=standard%>"/>

<%

        pro[i] = QUESTION;

    }

然后我在另一页面输出  (令num=4)

http://img.mukewang.com/58f031e50001949102030136.jpg

结果给的题目都一样


Will_木
浏览 1447回答 1
1回答

慕勒0069038

我觉得问题出在class="newpackage.Problem"   他只被实例化一次,因为最后的id是一样的  每次都是去修改他的值 赋予变量的时候(pro[i] = QUESTION;)给的是他被实例化的那个地址 setpropert应该执行了4次 你试试 改成 id="QUESTION<%=i%>"
打开App,查看更多内容
随时随地看视频慕课网APP