java - 在JSP中调用Spring bean方法

标签 java spring jsp

我有一个java类

LayoutManager.java,我使用它作为 Sprean Bean 传递到我的 jsp 页面中

 <custom:useSpringBean var="layoutManager" bean="LayoutManager"/>

如何使用 spring bean 从 jsp 内的 LayoutManager.java 调用方法?

我觉得我会使用某种形式的 servlet <% %>,但不确定语法

我要调用该方法

 public Iterable<Layouts> getSpecificLayout(String subjectName)

我现在唯一的 Spring 代码是

 public class UseSpringBean extends SimpleTagSupport
 {
     public void doTag() throws JspException, IOExceptionP
        PageContext pageContext = (PageContext)getJspContext();
        WebApplicationContext springContext = WebApplicationContextUtils.getWebApplicationContext(pageContext.getServletContext());
        pageContext.setAttribute(var, springContext.getBean(bean), PageContxt.PAGE_SCOPE);
 }

最佳答案

如果您确实希望在 jsp 页面中使用 Layouts 列表,那么您需要在 Spring Controller 中将此列表添加到 ModelMap 中,以便其可见在jsp页面中。

类似于:

@RequestMapping(value="/getSpecificLayout", method = RequestMethod.GET)
public String getSpecificLayout(Stirng subjectName, ModelMap model){
    Iterable<Layouts> layouts = getSpecificLayout(String subjectName);
    model.addAttribute("layouts", layouts);
    return "listLayouts";
}

在jsp中:

<c:for items="listLayouts" var="layout">
  <c:out value="layout.name"/>
</c:for>

(这不是经过测试的代码,只是一个示例。抱歉,代码编辑不起作用,我的意思是我看不到内联编辑器)。

关于java - 在JSP中调用Spring bean方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10937762/

相关文章:

java - 进程中创建的字符串对象总数?

java - 基于jSpinner更新jLabel

json - 如何在 REST 中创建 POST 请求以接受 JSON 输入?

java - Spring MVC <表单 :select not binding

java - 从支持 bean 中关闭 JSP 弹出窗口?

java - 按属性对列表进行排序,但保持相同属性的顺序

java - 在 string.xml 中将占位符与 % 符号一起用于 String.format()

java - Spring Boot微服务已注册到Eureka但无法命中

eclipse - Tomcat 80 端口不工作

javascript - 如何在 Bootstrap 轮播的下一个/上一个点击上加载 JSP 页面