EL表达式 字符串相等判断

梅子 2011-08-19 02:00:42

List servers=new ArrayList();
Gson gson = new Gson();
String server = gson.toJson(MsgUtils.getString("TOServer"));

String[] ss=server.split("[|]");
for(int i=0;i<ss.length;i++){
servers.add(ss[i].toString());
}

String selname=req.getParameter("selname");

req.setAttribute("selserver", selname);

req.setAttribute("servers", servers);

req.getRequestDispatcher("XXXX.jsp?ofc=flashchart").forward(req,resp);




<select id="selname" name="selname">
<c:forEach items="${servers}" var="servers" varStatus="step">

<c:when test="${servers == selserver}">//这里要判断servers是哪个要怎么写啊?
<option value="${servers }" selected="selected">${servers }</option>
</c:when>


</c:forEach>
</select>
...全文
1089 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mydwr 2012-07-05
  • 打赏
  • 举报
回复
用when有些判断不起作用,不知为何!
梅子 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 zl3450341 的回复:]
不要用 ==

用eq
[/Quote]

哦。好。谢谢大大~~

很多不懂啊~~~学习,学习~
梅子 2011-08-19
  • 打赏
  • 举报
回复
啊。。解决
谢谢大家,结贴~~~
zl3450341 2011-08-19
  • 打赏
  • 举报
回复
不要用 ==

用eq
风火轮 2011-08-19
  • 打赏
  • 举报
回复
selected='selected'英文单引号
风火轮 2011-08-19
  • 打赏
  • 举报
回复
selected="selected"
改成selected=‘selected’就OK
梅子 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yxk19890903 的回复:]
我知道你的意思了
你想判断如果相等就选中是吗?
如下:

HTML code




<option value="${server }"<c:iftest="${server==selserver}">selected="selected"</c:if> >
${server }</option>
[/Quote]

恩,这样可以得到我需要的结果

但是为什么里面会有双引号??
风火轮 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sunnxxy 的回复:]
c:if 没有报错耶。。
这个是为什么呢?
[/Quote]
像8楼说的
外面还有一层<c:choose>
剑神一笑 2011-08-19
  • 打赏
  • 举报
回复
用c:when前面要加<c:choose>
[Quote=引用 10 楼 sunnxxy 的回复:]
c:if 没有报错耶。。
这个是为什么呢?
[/Quote]
风火轮 2011-08-19
  • 打赏
  • 举报
回复


<option value="${server }" <c:if test="${server==selserver}">selected="selected"</c:if> >
${server }</option>

忘空格了
梅子 2011-08-19
  • 打赏
  • 举报
回复
c:if 没有报错耶。。
这个是为什么呢?
风火轮 2011-08-19
  • 打赏
  • 举报
回复
我知道你的意思了
你想判断如果相等就选中是吗?
如下:



<option value="${server }"<c:iftest="${server==selserver}">selected="selected"</c:if> >
${server }</option>




剑神一笑 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 sunnxxy 的回复:]
HTML code


<select id="selname" name="selname">
<c:forEach items="${servers}" var="toserver" varStatus="step">
<c:when test="${toserver == selserver}">
……
[/Quote]
要用c:when 前面要加上<c:choose><c:when></c:when><c:otherwise></c:otherwise></c:choose>
直接用c:if吧 你那个比较没错的
风火轮 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sunnxxy 的回复:]
引用 1 楼 yxk19890903 的回复:
<c:forEach items="${servers}" var="servers" varStatus="step">
items里的servers和var临时变量名不要重复


哦。谢谢提醒。。我想知道怎么比对字符串啊???
[/Quote]
<c:when test="${server == selserver}">//这里要判断servers是哪个要怎么写啊?
<option value="${server }" selected="selected">${server }</option>
</c:when>

为什么用when呢 这个是多种情况处理 和 java if else if else一样
如果你就处理一种

<c:if test="${server == selserver}">//这里要判断servers是哪个要怎么写啊?
<option value="${server }" selected="selected">${server }</option>
</c:if>
com_yidu_zyy 2011-08-19
  • 打赏
  • 举报
回复
以前用过EL表达式.可看到楼主的..感觉很迷惑
剑神一笑 2011-08-19
  • 打赏
  • 举报
回复
c:when 改c:if试试
梅子 2011-08-19
  • 打赏
  • 举报
回复

<select id="selname" name="selname">
<c:forEach items="${servers}" var="toserver" varStatus="step">
<c:when test="${toserver == selserver}">
<option value="${toserver }" selected="selected">${toserver }</option>
</c:when>
<c:otherwise>
<option value="${toserver }">${toserver }</option>
</c:otherwise>
</c:forEach>
</select>



报错啊:org.apache.jasper.JasperException: An exception occurred processing JSP page /jsp/tocu/tocu9Days.jsp at line 48

45: <td>   鏁版嵁鎻忚堪瀵硅薄涓猴細
46: <select id="selname" name="selname">
47: <c:forEach items="${servers}" var="toserver" varStatus="step">
48: <c:when test="${toserver == selserver}">
49: <option value="${toserver }" selected="selected">${toserver }</option>
50: </c:when>
51: <c:otherwise>
梅子 2011-08-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yxk19890903 的回复:]
<c:forEach items="${servers}" var="servers" varStatus="step">
items里的servers和var临时变量名不要重复
[/Quote]

哦。谢谢提醒。。我想知道怎么比对字符串啊???
风火轮 2011-08-19
  • 打赏
  • 举报
回复
code=HTML]
<select id="selname" name="selname">
<c:forEach items="${servers}" var="server" varStatus="step">

<c:when test="${server == selserver}">//这里要判断servers是哪个要怎么写啊?
<option value="${server }" selected="selected">${server }</option>
</c:when>


</c:forEach>
</select>


[/code]
这样
风火轮 2011-08-19
  • 打赏
  • 举报
回复
<c:forEach items="${servers}" var="servers" varStatus="step">
items里的servers和var临时变量名不要重复

67,513

社区成员

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

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