首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

logic遍历的有关问题

2012-02-28 
logic遍历的问题Java codeDBSource ds new DBSource()if (url.equals(/command/currency.jsp)) {List

logic遍历的问题

Java code
DBSource ds = new DBSource();if (url.equals("/command/currency.jsp")) {    List<Currencyiso> CurrList = ds.DBSourceforCurrencyiso();    request.setAttribute("CurrList", CurrList);    System.out.println("执行/command/currency.jsp");}

在访问页面时就触发上面的语句向request中添加一个被泛型的list数组
Currencyiso是由spring生成的bean

Java code
<logic:iterate id="CurrList" name="CurrList" scope="request"><option value='<bean:write name="CurrList" property="alphacode"/>' ><bean:write name="CurrList" property="alphacode"/></option></logic:iterate>

在页面中我用logic遍历
alphacode在Currencyiso有set/get方法
xml中名称也是对应的

但是我访问页面就出现如下错误:
执行/command/currency.jsp
2008-11-13 17:54:12 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
javax.servlet.jsp.JspException: No getter method for property: "alphacode" of bean: "CurrList"
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:915)
at org.apache.struts.taglib.bean.WriteTag.doStartTag(WriteTag.java:233)
at org.apache.jsp.command.currency_jsp._jspx_meth_bean_005fwrite_005f0(currency_jsp.java:515)
at org.apache.jsp.command.currency_jsp._jspService(currency_jsp.java:199)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.by.bill.filter.RequestFilter.doFilter(RequestFilter.java:92)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)



望高手指点!!
不胜感激

[解决办法]
你的这个问题和我遇到的差不多,根据我的经验你应该把这个list定义到bean里面去,然后这样写
<logic:iterate id="CurrList" property="CurrList" name="bean的名字" scope="request">
具体的你看看我的blog
http://blog.csdn.net/panhf2003/archive/2008/09/23/2970193.aspx
看看对你有没有帮助
写的很粗糙,有不明白的你再问我
[解决办法]
你的服务器用的什么?
可以找到编译后的jsp文件,看看里面去访问的Currencyiso的什么方法。


我怀疑你虽然有get/set方法,可能是不是范型的原因,去访问的get并不是你写的。

jsp的编译后的文件目录:
tomcat的话,如果在servel.xml没有设置目录应该在
webapps\helloapp\work\


weblogic的话在user_projects\domains\xxx\xxx\\.wlnotdelete\extract
[解决办法]
你把你的id换成别的名称试一下,别让id和name属性值都是CurrList.
注意代码编写的规范.
[解决办法]
No getter method for property: "alphacode" of bean: "CurrList" 
没找到get方法
仔细检查Currencyiso类,中的属性alphacode的get/set方法吧
[解决办法]

探讨
bean中肯定没有问题
bean是spring生成的
不知道是不是xml的问题

还有其它的问题……

[解决办法]
探讨
bean中肯定没有问题
bean是spring生成的
不知道是不是xml的问题

还有其它的问题……

[解决办法]
HTML code
<logic:present name="CurrList"> <logic:iterate id="CurrList" name="CurrList" scope="request"> <option value=' <bean:write name="CurrList" property="alphacode"/>' > <bean:write name="CurrList" property="alphacode"/> </option> </logic:iterate> </logic:present>
[解决办法]
查查字段alphacode,看BEAN里面是否缺少get/set方法
[解决办法]
这里 <option value=' <bean:write name="Curriso" property="alphacode"/>' > <bean:write name="Curriso" property="alphacode"/> </option>
改写成
<html:options collection="currList" property="alphacode"/>
试下
[解决办法]
javax.servlet.jsp.JspException: No getter method for property: "alphacode" of bean: "CurrList" 
你应该把CurrList定义到你的form里面
public MyForm exends ActionForm{

}
[解决办法]

小女子 不懂,关注中
帮楼主顶吧
[解决办法]
不知道你的问题解决了没有,我好像以前也遇到过这样的情况,估计是你formbean中定义get,set方法是其自动生成的,你看是不是定义的属性和其对应的方法名大小写不规范(自动生成的有可能),把大写改为小写,然后再测试一下。
[解决办法]


<logic:iterate id= "currencyiso " property= "Currencyiso " name= "CurrList " scope= "request ">

<option value= ' <bean:write name= "currencyiso " property= "alphacode "/> ' >
<bean:write name= "currencyiso " property= "alphacode "/>
</option>

</logic:iterate>


[解决办法]
<logic:iterate id="CurrList" name="CurrList" scope="request" type="你的CurrList的类名">
<option value='<bean:write name="CurrList" property="alphacode"/>' ><bean:write name="CurrList" property="alphacode"/></option>
</logic:iterate>

热点排行