s:set标签的取值问题

kk236235668 2013-04-22 11:21:31
<s:set name="i" value="#0"/> 
<s:iterator value="testA" id="testB">
<s:set name="i" value="#i++"/>
<li><a href="" class="smallimage" rel="${testB.image}"><img src="images/p<s:property value="i"/>.gif"/>${testB.name}</a> </li>
</s:iterator>


报错:
严重: Servlet.service() for servlet jsp threw exception
java.lang.NumberFormatException: For input string: "image"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at javax.el.ListELResolver.coerce(ListELResolver.java:166)
at javax.el.ListELResolver.getValue(ListELResolver.java:51)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)

...

是i的设值和取值的问题。不太熟悉s标签。大家帮忙解答一下。
...全文
257 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bonlog 2013-04-22
  • 打赏
  • 举报
回复
迭代前的数据什么样? 上述错误代码,与标签无关,你是类型转不对 你可先不用标签,,能否输出,再换成标签
xin_1747 2013-04-22
  • 打赏
  • 举报
回复
看报错是后台输出的是一个String型的“image”,但是在jsp页面却要求用一个number型的值来接,我先看看代码
lvzg_005 2013-04-22
  • 打赏
  • 举报
回复
rel="${recomm_computer.image}" 先把a标签的rel属性去掉,直接把${recomm_computer.image}打印出来,看看能处结果吗
kk236235668 2013-04-22
  • 打赏
  • 举报
回复
引用 8 楼 lvzg_005 的回复:
<s:iterator value="recomm_computer_pm" id="recomm_computer"> 循环体内放的对象recomm_compter的属性.image是什么类型
image是string。我的代码有要求他转为其他类型吗
lvzg_005 2013-04-22
  • 打赏
  • 举报
回复
<s:iterator value="recomm_computer_pm" id="recomm_computer"> 循环体内放的对象recomm_compter的属性.image是什么类型
kk236235668 2013-04-22
  • 打赏
  • 举报
回复
引用 6 楼 lvzg_005 的回复:
java.lang.NumberFormatException: For input string: "image" 你想让字符串image转化成number,才报这个错误的,跟踪下程序,看看这个字符串在哪里做转化的
生成的_jsp.java文件里头报的是这一行。 out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${recomm_computer.image}", java.lang.String.class, (PageContext)_jspx_page_context, null, false)); 然后对应的jsp代码是<s:set name="i4" value="0"/> <s:iterator value="recomm_computer_pm" id="recomm_computer"> <s:set name="i4" value="#i4++"/> <li><a href="" class="smallimage" rel="${recomm_computer.image}"><img src="images/p<s:property value="#i4"/>.gif"/>${recomm_computer.goodsname},${recomm_computer.introduce}</a> </li> <%//} %> </s:iterator> 困惑了。。
lvzg_005 2013-04-22
  • 打赏
  • 举报
回复
java.lang.NumberFormatException: For input string: "image" 你想让字符串image转化成number,才报这个错误的,跟踪下程序,看看这个字符串在哪里做转化的
kk236235668 2013-04-22
  • 打赏
  • 举报
回复
引用 2 楼 ch656409110 的回复:
<img src="images/p<s:property value="i"/>.gif"/> 换成 <img src=‘images/p<s:property value="#i"/>.gif’/> 我记得要加上#的
之前试过加#,一样不行
kk236235668 2013-04-22
  • 打赏
  • 举报
回复
引用 1 楼 bonlog 的回复:
迭代前的数据什么样? 上述错误代码,与标签无关,你是类型转不对 你可先不用标签,,能否输出,再换成标签
但如果把<s:property>直接换成1、2、3等直接数是没有问题的
  • 打赏
  • 举报
回复
<img src="images/p<s:property value="i"/>.gif"/> 换成 <img src=images/p<s:property value="#i"/>.gif[color=#FF0000]’[/color]/> 我记得要加上#的
  • 打赏
  • 举报
回复
<img src="images/p<s:property value="i"/>.gif"/> 换成 <img src=‘images/p<s:property value="#i"/>.gif’/> 我记得要加上#的

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧