我在项目中发现:在控制页面,使用request.getAttribute() 来获取 显示页面中form 的数据,感觉很奇怪,因为form 表单中的数据只能通过 request.getParameter()来获取,为什么在我们的系统中可以使用 request.getAttribute() 获取form中的数据呢?经过一番分析,有以下发现:
一、在系统中的控制页面,有一个对操作权限检测的方法,在这个方法里面,就把表单中的数据做了处里,以下是处理的方法:
Enumeration en = request.getParameterNames ( ) ; while (en.hasMoreElements ( )) { String strName = (String) en.nextElement ( ) ; String strValue = request.getParameter ( strName ) ; String lowerCaseName = strName.toLowerCase(); if (iToChinese == 1) { strValue = DataFormat.toChinese ( strValue ) ; } if (request.getAttribute ( strName ) == null) { request.setAttribute ( strName , strValue ) ; if (iToChinese == 1) { log4j.info ( "====== request.parameter < " + strName + " : " + request.getAttribute ( strName ) + " >" ) ; m_CurrentAllURL.append("&" + strName + "=" + request.getAttribute ( strName )); } } }
?二、需要说明的是:上述代码中有冗余代码,但是不影响大家的学习。
1 楼
bo_hai
2011-01-20
Copy 代码是不能直接运行的,最为重要的是明白程序设计的思想。