<%
String[] search = request.getParameterValues("rad");
if (search != null) {
for (int i = 0; i < search.length; i++) {
if (search[i].equals("label")) {
String label=request.getParameter("search");
out.print("检索图片标签:"+label);
}
if (search[i].equals("author")) {
String author=request.getParameter("search");
out.print("检索摄影师用户名:"+author);
}
if (search[i].equals("passage")) {
String passage=request.getParameter("search");
out.print("检索图文关键字:"+passage);
}
if (search[i].equals("type")) {
String type=request.getParameter("type");
out.print("检索图片类型:"+type);
}
}
}
%>
<%=label%>
---------------------------------------------------------
问题:<%=label%>报错了说这个变量不能用 求解 急!!!
页面需要一次性输出label、author、passage、type的值。我应该怎么做?

解决方案 »

  1.   

    你search[i]里面有没有label这个字段啊,不行你就换个别的名字试试
      

  2.   

    这个label是不是要pageContext.setAttribute("label",label)后,下面<%=label%>才能取啊?好久没做jsp了,就跟着印象猜猜
      

  3.   

    你上面定义  String label   写在了if里面 ,当然是作用域只在if里,拿到最外面定义这个变量    
      

  4.   

    这当然不能用啊,你的lable定义在if里面,在外面取不到
      

  5.   

    String label=request.getParameter("search");这个放在if里,作用域是if里
    可以把句放在String[] search = request.getParameterValues("rad");下边
      

  6.   

    <%
       String label = "";
       String author = "";
       String passage = "";
       String type = "";
    String[] search = request.getParameterValues("rad");
    if (search != null) {
    for (int i = 0; i < search.length; i++) {
    if (search[i].equals("label")) {
    label=request.getParameter("search");
    out.print("检索图片标签:"+label);
    }
    if (search[i].equals("author")) {
    author=request.getParameter("search");
    out.print("检索摄影师用户名:"+author);
    }
    if (search[i].equals("passage")) {
    passage=request.getParameter("search");
    out.print("检索图文关键字:"+passage);
    }
    if (search[i].equals("type")) {
    type=request.getParameter("type");
    out.print("检索图片类型:"+type);
    }
    }
    }
    %>
    <%=label%>