C_C_J_J 2015-05-06 12:06 采纳率: 50%
浏览 2125

有关The operator + is undefined for

session有取到username的值,现在需要根据这个username来去的对应的user信息,所以写了下面的语句但是有错误:The operator + is undefined for the arguement type(s) string,void,不也不知道可不可以直接用<%=username%>这样出现在语句中,要怎么修改呢,求大神赐教!

<%
String strsql="select a.*,b.ucid as ucid,b.ucname as ucname from users a join usercategories b on a.ucid=b.ucid where a.username=" + %> <%=username%> <%;
......
%>

  • 写回答

1条回答 默认 最新

  • 毕小宝 博客专家认证 2015-05-07 02:01
    关注

    首先,<%=username %>这个是获取JSP页面中<% %>代码块中定义的变量的值的,通常是被页面的html元素使用的,而不是在<%%>中用的。
    例如下列代码,在<%%>中定义了ctxPath变量,然后就可以在html页面元素中通过<%=ctxtPath%>来获取这个变量的值了。

     <%String ctxtPath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort();%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>欢迎</title>
      </head>
      <body>
      <form action="<%=ctxtPath %>/user!editUser.action" method="post" id="Frm" style="display:none">
         username : <input type="text" name="userName"/><br/>
         password :<input type="password" name="password"><br/>
          <input type="submit" value="submit"/>
      </form>
      </body>
    </html>
    

    你的session里面有username的值,则可以通过如下方式取到:

     <%
     HttpSession session = request.getSession(); 
     String username = session.getAttribute("username");
     String strsql="select a.*,b.ucid as ucid,b.ucname as ucname from users a join usercategories b on a.ucid=b.ucid where a.username=" +username;
     %>
    

    JavaWeb的知识比较多,慢慢实践和积累,弄清楚遇到的每个知识的概念,就会熟练的。祝好!

    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度