我想理解別人寫(xiě)的java程序,我不知道java。我寫(xiě)了一個(gè)簡(jiǎn)短的方法來(lái)轉(zhuǎn)儲(chǔ)請(qǐng)求對(duì)象的屬性。public void dumpRequest(HttpServletRequest request) { String[] attrNames = new String[100]; // hard coded int ani = 0; Enumeration rns = request.getAttributeNames(); while (rns.hasMoreElements()) { out.println("attribute name: " + rns.nextElement()); attrNames[ani] = rns.nextElement().toString(); ani = ani + 1; } out.println("" + ani + " atributes"); String cn; for (int n = 0; n < ani; n++) { cn = attrNames[n]; out.println("** " + cn + " - " + request.getAttribute(cn)); } out.println("++++++++++++++++++++++");}令我震驚的是,我意識(shí)到與我的代碼輸出相比,NetBeans 變量選項(xiàng)卡在請(qǐng)求對(duì)象上顯示的屬性多兩倍。枚舉似乎記錄在這里:https : //tomcat.apache.org/tomcat-4.1-doc/catalina/docs/api/org/apache/catalina/util/Enumerator.html我究竟做錯(cuò)了什么?
1 回答

蝴蝶刀刀
TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
在此塊中調(diào)用 nextElement 方法兩次:
while (rns.hasMoreElements()) {
out.println("attribute name: " + rns.nextElement());
attrNames[ani] = rns.nextElement().toString();
ani = ani + 1;
}
你應(yīng)該調(diào)用 nextElement 一次。把它放在變量中,然后使用該變量。
添加回答
舉報(bào)
0/150
提交
取消