正在做SSH整合的小项目 遇到点小疑点
阅读
做一个查询功能 但是始终不好使 不知道该怎么改
首先给出实现类
public List<Commodity> all(String cname) {
return factory.getCurrentSession().createQuery("from Commodity c where c.cname like '%"+cname+"%'").list();
}
放入要查询的商品名字,然后返回查询结果list,这个没什么问题。可以遍历输出出来。
然后是action中的代码
public String commoditySearch() {
ActionContext.getContext().put("commodity",commodityService.all(commodity.getKeyword()));
return "result";
}
getKeyword()是用来接收form中提交的所要查询的关键字,用println实验发现可以接收到
list也可以遍历出来
然后是jsp中的form表单
<s:form action="currentlist" method="get">
<s:textfield id="keyword" name="commodity.keyword" />
<input type="submit" value="X一下"/>
</s:form>
struts的配置
<package name="commodity" extends="struts-default">
<action name="currentlist" class="pageAction" method="commoditySearch">
<result name="result">result.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
result.jsp中用来遍历的代码
<s:iterator value="#request.commodity">
<s:property value="cid"/>
<s:property value="cname"/>
¥<s:property value="cprice"/><br/>
</s:iterator>
可以正常跳刀result页面 但是#request.commodity没有接受到结果
如果我在action不用getkeyword而直接写"关键字" 然后直接访问http://localhost:8080/SSH_03/currentlist
就可以得到结果
希望高手不吝赐教
------解决方案--------------------
或者直接把<s:iterator value="#request.commodity">改为value="#commodity"试试。
阅读
上一篇:用什么形式动态选择编码方式 下一篇:返回列表