【问题标题】:What does Spring MVC give you if you use JSTL on the view?如果你在视图上使用 JSTL,Spring MVC 会给你什么?
【发布时间】:2010-11-08 15:10:08
【问题描述】:

刚开始学习 Java 方面的东西,如果这很明显,对不起。但是,我正在阅读有关 Java 6 中 Spring 的教程,并看到他们在视图上只使用了常规的旧 JSTL。

如果我在视图中使用 JSTL,Spring 会给我什么?如果我使用“just java”,我会使用什么(我知道这都是 Java,但我的意思是除了 Spring 或 Struts 之类的框架之外)?

谢谢。

编辑:

我猜 JSTL 是 V。这就是我的意思。如果我已经有了没有 Spring 的 V,那么我会得到什么 Java 还没有的东西?如果没有 Spring,我必须提供什么(请不要说 MC!)

编辑:也许我在问。如果我不使用 Spring、Struts 或类似的东西,我会在 Java 中为 MVC 使用什么。对于 MVC 和 JSTL,Java 6 有什么开箱即用的功能。还有哪些其他组件(我保留 JSTL 是有原因的)。谢谢。

【问题讨论】:

  • V 和 You Vish 一样,默认情况下有一个适当的视图层可用 :-)

标签: java spring spring-mvc


【解决方案1】:

这是一个非常简单的例子。 在普通的香草Servlet model 2 中,您会这样写:

public class AdditionServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException {
        String x = request.getParameter("x");
        String y = request.getParameter("y");
        if (x == null || y == null) throw new ServletException();
        try {
            request.setAttribute("result", 
                Integer.parseInt(x) + Integer.parseInt(y));
        } catch (NumberFormatException ex) {
            throw new ServletException(ex);
        }
        request.getRequestDispatcher("/WEB-INF/jsp/calc.jsp")
            .forward(request, response);
    }
}

在 Spring MVC 中你这样写:

@Controller
public class ArithmeticController {
    @RequestMapping("/add")
    public String add(@RequestParam("x") int x, @RequestParam("y") int y, 
        Map<String, Object> model) {
        model.put("result", x + y);
        return "calc";
    }
}

两个控制器使用相同的 JSTL 视图,但样板代码的数量不同。

【讨论】:

    【解决方案2】:

    主要认为提供的弹簧是IoC,恕我直言。

    【讨论】:

    • Spring 比 DI 还多,包括一个巨大的 Web 层:static.springsource.org/spring/docs/3.0.x/…
    • 他具体询问的是 Spring MVC,而不是一般的 Spring。
    • @skaffman :这里引用:“如果我使用 JSTL 作为视图,Spring 会给我什么?”。所以,我认为,IoC 会很有用)
    • @seanizer:是的。但我个人认为,Ioc/DI 是 Spring 框架中的某种基本/主要思想。
    • 断章取义。该问题明确指出“Spring MVC”,您几乎不会错过(好吧,至少 I 几乎不会错过标题,但我不怀疑有些人可以)。
    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 2010-11-08
    • 1970-01-01
    • 2011-04-15
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    相关资源
    最近更新 更多