//我的action获取从数据获取了城市的列表,是从city表中取的,就id,cityname俩个字段
int id =Integer.parseInt(request.getParameter("id"));
List citylist=cityDao.findAll();
User user=userDao.findId("id");
request.setAttribute("User", user);
request.setAttribute("cityList", citylist);
return mapping.findForward("update");//我有个用户表,有个字段是城市,就是根据页面的城市下拉框取值的,
//现在在页面如何让它加载修改页面的时候,城市列表就是我之前选择的那个值,而不是“请选择”<select name="User.city">
<c:forEach items="${requetsScope.cityList}" var="city">
<option value="${city.cityname}">
${city.cityname }
</option>
</c:forEach>
<c:if test="{User.city==city.cityname}">
<option value="${city.cityname}" selected>
${city.cityname }
</option>
</c:if>
</select>
上面是我写的页面代码,执行后城市列表还是在第一个位置,并不是我从用户表选的那个城市,我的代码没错吧,各位帮帮忙想想办法,我用的ssh,struts1.2的
int id =Integer.parseInt(request.getParameter("id"));
List citylist=cityDao.findAll();
User user=userDao.findId("id");
request.setAttribute("User", user);
request.setAttribute("cityList", citylist);
return mapping.findForward("update");//我有个用户表,有个字段是城市,就是根据页面的城市下拉框取值的,
//现在在页面如何让它加载修改页面的时候,城市列表就是我之前选择的那个值,而不是“请选择”<select name="User.city">
<c:forEach items="${requetsScope.cityList}" var="city">
<option value="${city.cityname}">
${city.cityname }
</option>
</c:forEach>
<c:if test="{User.city==city.cityname}">
<option value="${city.cityname}" selected>
${city.cityname }
</option>
</c:if>
</select>
上面是我写的页面代码,执行后城市列表还是在第一个位置,并不是我从用户表选的那个城市,我的代码没错吧,各位帮帮忙想想办法,我用的ssh,struts1.2的
解决方案 »
- NND, 项目移植报个No bean named 'sessionFactory' is defined
- spring依赖注入的疑问
- 关于大量数据运算在服务器集群中的处理。求指导。
- 问2道数据库的面试题,我是新手。
- 疑问
- sql中的*=在hql中如何处理
- 刚做了个站.散分.........帮个忙顶一下.
- 求助!!!!JB06+Weblogic9.0的问题!!
- hibernate异常:exception setting property value with CGLIB,求各位高人帮忙!
- Spring AOP中doThrowing()始终不执行
- ssh如何在页面实现for嵌套循环?
- myeclipse7.0中web项目生成带有struts标记的web.xml的版本怎么设置成2.4的?
<c:if test="${User.city==city.cityname}">
发帖的时候排版把el表达式的$ 删掉了,实践代码是有的。
<select name="User.city">
<c:forEach items="${requetsScope.cityList}" var="city">
<c:choose>
<c:when test="{User.city==city.cityname}">
<option value="${city.cityname}" selected>
${city.cityname }
</option>
</c:when>
<c:otherwise>
<option value="${city.cityname}">
${city.cityname }
</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select> 这样试试看
楼主好好分析一下原因 ,你可以查看一下你的输入页面的 源文件是什么样子的 然后分析一下 你的代码 就可以知道你的代码 逻辑有问题 也就是应该把if判断放到前面 这样应该没问题了
<select name="User.city">
<c:forEach items="${requetsScope.cityList}" var="city">
<c:if test="{User.city!=city.cityname}">
<option value="${city.cityname}">
${city.cityname }
</option>
</c:if>
<c:if test="{User.city==city.cityname}">
<option value="${city.cityname}" selected>
${city.cityname }
</option>
</c:if>
</c:forEach>
</select>
这个地方 ID是字符串 的不带 User 对象 为空是这样吧User user=userDao.findId(id);
我调试过User是有值的,id我不是转int了吗
不好意思User user=userDao.findId("id");是我发帖复制错了,实际代码上是User user=userDao.findId(id);
是不是这个地方 改成这样试试???<c:if test="{User.city.cityname==city.cityname}"></c:if>
哎
<c:forEach items="${requetsScope.cityList}" var="city">
你单词 写错了 requestScope.cityList
一直走到28楼被截获了