gpt4 book ai didi

java jsp返回对象的地址

转载 作者:行者123 更新时间:2023-12-02 04:30:31 25 4
gpt4 key购买 nike

我有以下情况。我将对象类别列表转发到 JSP 并对其进行迭代:

<html>
<head>
<title>Test</title>
</head>
<body>
<c:forEach var="category" items="${categories}">
<a href="/mytest/projects?category=${category}"><c:out value="${category.id} - ${category.name}"/></a><p>
</c:forEach>
</body>

</html>

结果显示了特定项目的链接列表。现在的问题是 JSP 将对象 ${category} 的地址作为字符串返回,如下所示:

projects?category=data.Category@6892b54

如何通过 servlet 中的地址访问该对象?我可以返回它的id并简单地通过新类别(id)启动,但我强烈认为有一种方法可以访问已经存在的对象.

在 servlet 中,我尝试使用我所知道的来获取对象:

Category category = req.getParameter("category");

但是编译器返回错误,指出 String 无法转换为 Category(((

最佳答案

${category} 正在引用名为 category 的属性。该属性可以在请求、 session 或应用程序范围内。如果您直接在 jsp 中包含此内容:

${category}

它将调用在那里找到的对象的toString方法。由于您尚未重写该方法,因此它使用 Object#toString

为了避免这一切,您应该将实体的一些标识符作为查询字符串中的参数传递。从您的代码来看,应该这样做:

<a href="/mytest/projects?category=${category.id}">

在 Controller 中,您要预处理 GET 请求,读取参数“category” 并执行正确的数据查找。

关于java jsp返回对象的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31543153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com