在JSP中调用Spring bean方法

时间:2012-06-07 18:33:23

标签: java spring jsp

我有一个java类

LayoutManager.java,我使用

作为Sprean Bean传递到我的jsp页面
 <custom:useSpringBean var="layoutManager" bean="LayoutManager"/>

如何使用spring bean在我的jsp中调用LayoutManager.java中的方法?

我觉得我会使用某种形式的servlet&lt; %%&gt;,但不确定语法

我想调用方法

 public Iterable<Layouts> getSpecificLayout(String subjectName)

我现在唯一的弹簧代码是

 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);
 }

1 个答案:

答案 0 :(得分:2)

如果你真的想在jsp页面中使用Layouts列表,那么从spring控制器中你需要在ModelMap中添加这个列表,以便它在jsp页面中可见。 / p>

类似的东西:

@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>

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