1

我有一个java类

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

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

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

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

我想调用方法

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

1 回答 1

2

如果您真的希望Layouts在 jsp 页面中使用列表,那么您需要从 spring 控制器中添加此列表,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>

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

于 2012-06-07T18:49:15.057 回答