问题描述
- 有关The operator + is undefined for
- session有取到username的值,现在需要根据这个username来去的对应的user信息,所以写了下面的语句但是有错误:The operator + is undefined for the arguement type(s) stringvoid,不也不知道可不可以直接用<%=username%>这样出现在语句中,要怎么修改呢,求大神赐教!
<%
String strsql=""select a.*b.ucid as ucidb.ucname as ucname from users a join usercategories b on a.ucid=b.ucid where a.username="" + %> <%=username%> <%;
......
%>
解决方案
首先,<%=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 ucidb.ucname as ucname from users a join usercategories b on a.ucid=b.ucid where a.username="" +username; %>
JavaWeb的知识比较多,慢慢实践和积累,弄清楚遇到的每个知识的概念,就会熟练的。祝好!
时间: 2024-12-30 13:57:26