【Java Web基础】(十)练习JDBC中遇到的两个错误:javax.el.PropertyNotFoundException与&&无法在web.xml或使用此应用程序部署的jar文件中解析

我使用的编程环境是ideaIU。
错误1:无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com.jsp/jstl/core]
百度解决办法,搜到如下教程:
1、解决javax.el.PropertyNotFoundException:问题
2、<%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %>报错
emm我用了他们的办法依旧无法解决我的问题,包括下面评论中提到ideaIU用户需要注意的,我根据他提到的步骤操作了以后还是没有解决,回头仔细看代码,原来是我给uri打错了,本来应该是“/jsp”我打成了“.jsp”……正确如下:

<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

taglib作用如下:
作用:声明用户使用自定义的标签,将标签库描述符文件导入到jsp页面。
用法: <%@ taglib (uri=“tigLibURL” 或 tagDir=“tagDir”) prefix=“tagPrefix” %>
属性:
[1]uri属性:定位标签库描述符的位置。唯一标识和前缀相关的标签库描述符,可以使用绝对或相对URL。
[2]tagDir属性:指示前缀将被用于标识在WEV-INF/tags目录下的标签文件。
[3]prefix属性:标签的前缀,区分多个自定义标签。不可以使用保留前缀和空前缀,遵循XML命名空间的命名约定。


错误2:javax.el.PropertyNotFoundException]
我的代码如下(仅贴出错误部分):
showAllFoods.jsp展示所有事物界面如下:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>展示食物列表</title>
</head>
<body>
    <table border="1">
        <tr>
            <th>食物编号</th>
            <th>食物名称</th>
            <th>食物价格</th>
            <th>食物源产地</th>
        </tr>
        <c:forEach items="${allFoods }" var="foods">
            <tr>
                <td>${foods.FoodId}</td>
                <td>${foods.FoodName}</td>
                <td>${foods.FoodPrice}</td>
                <td>${foods.FoodSource}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>

Foods.java类如下:

package entity;

public class Foods {
    private String FoodName;
    private int FoodId;
    private double FoodPrice;
    private String FoodSource;
    public void setFoodName(String FoodName){
        this.FoodName=FoodName;
    }
    public String getFoodName(){
        return FoodName;
    }
    public void setFoodId(int FoodId){
        this.FoodId=FoodId;
    }
    public int getFoodId(){
        return FoodId;
    }
    public void setFoodPrice(double FoodPrice){
        this.FoodPrice=FoodPrice;
    }
    public double getFoodPrice(){
        return FoodPrice;
    }
    public void setFoodSource(String FoodSource){
        this.FoodSource=FoodSource;
    }
    public String getFoodSource(){
        return FoodSource;
    }
}

不管怎么看我的类属性都没有问题。
问了朋友说可能是因为类名的第一个字母没有小写,于是我做出更改:
.jsp:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>展示食物列表</title>
</head>
<body>
    <table border="1">
        <tr>
            <th>食物编号</th>
            <th>食物名称</th>
            <th>食物价格</th>
            <th>食物源产地</th>
        </tr>
        <c:forEach items="${allFoods }" var="foods">
            <tr>
                <td>${foods.foodId}</td>
                <td>${foods.foodName}</td>
                <td>${foods.foodPrice}</td>
                <td>${foods.foodSource}</td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>

.java:

package entity;

public class Foods {
    private String foodName;
    private int foodId;
    private double foodPrice;
    private String foodSource;
    public void setFoodName(String FoodName){
        this.foodName=FoodName;
    }
    public String getFoodName(){
        return foodName;
    }
    public void setFoodId(int FoodId){
        this.foodId=FoodId;
    }
    public int getFoodId(){
        return foodId;
    }
    public void setFoodPrice(double FoodPrice){
        this.foodPrice=FoodPrice;
    }
    public double getFoodPrice(){
        return foodPrice;
    }
    public void setFoodSource(String FoodSource){
        this.foodSource=FoodSource;
    }
    public String getFoodSource(){
        return foodSource;
    }
}

运行后成功显示如下
在这里插入图片描述
果然还是要养成良好的编程习惯。。我喜欢每个单词的首字母都大写,但是在写类的时候不能这样,!!!!第一个字母一定要小写!!!!!!虽然不知道这是什么BUG,但是还是要注意,要不就会弄一早上弄不出一个简单的程序,我大概就是BUG制造机吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值