<select id="templateId">
   <%
        Map<String,String> tempList = (Map<String,String>)request.getAttribute("tempMap");
        String flag = request.getAttribute("templateId").toString();
for (Map.Entry<String, String> entry : tempList.entrySet())
{
  String selected="false";
  String key = entry.getKey().toString();
  out.print("<option selected="'<% if(key.equals(flag))?"selected":""%>'" value='" + key +"'>"+  
            entry.getValue().toString()+"</option>"); }
    %>
</select>
这句一直报错,求高手解答
selected="'<% if(key.equals(flag))?"selected":""%>'"

解决方案 »

  1.   

    报这个错Invalid character constant
    但是我就不知道哪里有问题
      

  2.   

    <%=value%>
    这里的value是表达式
    你在这里写了个逻辑判断,怎么可能对呢
    换成<%=(key==flag?"selected":"")%>
      

  3.   

    selected="'<%= if(key.equals(flag))?"selected":""%>'"加個等號就好了
      

  4.   

    out.print("<option selected="'<% if(key.equals(flag))?"selected":""%>'" value='" + key +"'>"+  
      entry.getValue().toString()+"</option>"); }
    我晕死,你在脚本里面套脚本不错才怪改成out.print("<option selected='"+(key.equals(flag)?"selected":"") +"' value='" + key +"'>"+  
      entry.getValue().toString()+"</option>"); }
      

  5.   

    selected="'<%= if(key.equals(flag))?"selected":""%>'"
    这是什么语法
    虽然没看出错误来,但是这不应该加上if啊,也不应该加单引号
    selected="<%=key.equals(flag)?"selected":""%>"
      

  6.   

    再看了一下你的代码,你看看你的key是在哪里定义的?