我只是想在jsp页面加入一个jstl表达式
servlet传值到后台 jsp显示在页面上
哦天哪 为什么我的表达式会出现在页面上
Unknown tag (c:forEach).
不认识这个标签
一般解决bug时值会专注于红色的错号 很少会把黄色的警告放在心上 导致一直找不到错误在哪里
注意引入jstl标签库
在使用jstl的jsp文件中,要引入jstl标签库,例如
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
但是我不小心把“c”敲成了大写 “C” 所以就有了上述的错误
You have an error in your SQL syntax;
说明SQL语句有问题 根据控制台的报错快速索引到该语句附近
或者尝试在后台输出SQL语句
拼接SQL语句
StringBuilder sql=new StringBuilder("select ID,command,description,content from message where 1=1");
where 1=1 是为了 在需要条件查询时在后面拼接条件
看起来没有错误
StringBuilder sql=new StringBuilder("select ID,command,description,content from message where 1=1 ");
//where 1=1 为了方便后边拼接条件语句
List<String> paramList = new ArrayList<String>();
if(command != null&& !"".equals(command.trim())){
sql.append("and command=?");
paramList.add(command);
}
可是执行报错You have an error in your SQL syntax;
在后台输出SQL语句
显示select ID,command,description,content from message where 1=1and command=‘查看’
原因就碍于 两个条件用and连接 and前少了空格
解决方法:初始化SQL语句时 在where 1=1 后加一个空格即可
拼接模糊查询语句
sql.append(" and description like '%' ? '%'");//模糊查询
注意**’%’ ? '%'之间的空格**这样才能将传进来的参数和%拼接在一起 否则查询无效
项目名称出现红色感叹号
右击eclipse项目的bulid path–>configure build path,在弹出来的窗口中,找到Libraries页签,可以看到一些jar包是红色叉号的,这种jar包就是找不到对应文件的jar包,引起这种eclipse项目前面出现红色叹号,可能是因为从外部导入的项目或者是因为某些文件被删除了,才导致红色惊叹号。找到这些eclipse项目中没有的jar包,删除它,然后重新在本地导入所需的jars。
There is no getter for property named ‘command’ in ‘class bean.Command’
去浏览器搜索的话一般会得到这种解决方法
然后百度上一般就是给出这种方案:
如果参数是#{oneParameter},则改成#{_parameter},在接口中定义方法时 增加“@Param(“oneParameter”)” 标记
只看字面意思的话 会觉得command类中缺少了getter 可是不一定就是因为少了这个
应该去查看自己的中是不是有 错误
比如说 写另外一个查询语句时为了方便直接将之前写好的一个复制过来 改改参数 却遗漏了某一个未改
因为变量名拼写 所以导致了 报错 找不到对应的getter
加油 我是最棒的!!