当前位置: 首页 > 知识库问答 >
问题:

在 JSP 中访问带注释的Spring会话 Bean

颛孙正谊
2023-03-14

我的bean注释为

@Component("Person")
@Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS)

我有一些getter和setter,但我对JSP感兴趣的是

@Transient
    private ArrayList<DummyProduct> products = new ArrayList<DummyProduct>();

    public ArrayList<DummyProduct> getProducts() {
        return products;
    }

    public void setProducts(ArrayList<DummyProduct> products) {
        this.products = products;
    }

然后在我的控制器中,我将产品添加到列表中

DummyProduct prod = new DummyProduct(product);
this.person.getProducts().add(prod);

然后,在我的JSP中,我尝试了一下,但没有得到结果:

<table id="cart_table" border="1">
<tr>
    <th>Product</th>
</tr>
<c:forEach var="prd" items="${sessionScope.Person.products}" >
<tr>
<td>${prd.productName}</td>
</tr>
</c:forEach>
</table>

我还使用了下面的属性,以便我的beans向JSP公开:< code >

<beans:bean
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <beans:property name="prefix" value="/WEB-INF/views/" />
            <beans:property name="suffix" value=".jsp" />
            <beans:property name="exposeContextBeansAsAttributes" value="true" />

编辑:控制器:

@org.springframework.stereotype.Controller
public class Controller {

@RequestMapping(value= "/addProduct", method = RequestMethod.POST)
    public String addProduct(HttpServletRequest request, Map<String, Object> model, @RequestParam String product){
        DummyProduct prod = new DummyProduct(product);
        this.person.getProducts().add(prod);
        return "loggedIn";
    }

}

表始终为空。我已经调试过了,我看到在我的个人豆中,填充了产品列表。

共有1个答案

沙小白
2023-03-14

该问题与您访问会话属性的方式有关。

更改为此

更新

@Controller
@SessionAttributes("person")

你可以在这里找到一个例子

 类似资料:
  • 在JSP代码中有三种注释:JSP注释、Java注释和HTML注释。 1. JSP注释 这种注释的格式如下: <%-- JSP注释 --%> JSP引擎在处理JSP代码时,会忽略JSP注释。也就是说,JSP注释既不会出现在由JSP生成的Servlet类中,也不会被作为静态内容输出到客户端。JSP注释的作用只是为了使JSP代码更容易理解。 2.Java注释 Java注释就是Java源代码的注释。该注释

  • 我已经对Spring bean使用的注释进行了注释。我通过spring DI成功地创建了相同的bean,并设置了对象注入的范围。现在,我想用Struts2和di做同样的事情。为此,我在中创建了bean定义 和简单的操作来创建bean并将其注入到我的操作中 在JSP中,我在会话bean上使用简单的迭代器 null

  • 主要内容:HTML 注释,带有 JSP 表达式的注释,隐藏注释,脚本程序(Scriptlet)中的注释说到注释,相信大家肯定都不陌生,它是对程序代码的解释和说明。注释可以提高代码的可读性,让他人能够更加轻松地了解代码,从而提高团队合作开发的效率。 在 JSP 中可以使用以下 4 种注释: HTML 注释 带有 JSP 表达式的注释 隐藏注释 脚本程序(Scriptlet)中的注释 在 JSP 规范中,它们都属于 JSP 中的注释,且语法规则和运行效果都各不相同。本节我们将对 JSP 中的各种注释

  • 我正在尝试从jointCut访问自定义注释值。但是我找不到方法。 我的示例代码: 正在尝试访问< code>@Aspect类。 但是,我没有看到任何访问值的范围。 我试图访问的方式在代码下面 我没有看到任何值返回input = input1。如何实现这一点。

  • 问题内容: 我已经“继承”了一个项目,该项目使用Spring批注来管理Hibernate的事务/会话。或至少是注定的。当前,Hibernate会话永远不会被刷新(它们设置为FLUSH_MODE_NEVER),并且DAO需要手动刷新才能将任何数据写入数据库。 同样,所有DTO对象都驻留在hibernate的内存中,最终导致OutOfMemory错误。 我相信我需要告诉Spring / Hiberna

  • 但这不起作用,当我进入“loginriuscito.jsp”时,我只看到“welcome:”