代码之家  ›  专栏  ›  技术社区  ›  johnny

如果在视图上使用JSTL,SpringMVC会给您提供什么?

  •  2
  • johnny  · 技术社区  · 14 年前

    刚开始学习Java方面的东西,很抱歉,如果这是显而易见的。但是,我正在阅读Java 6中关于Spring的教程,看到他们在视图上只使用常规的JSTL。

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

    谢谢。

    编辑:

    我猜JSTL就是V,这就是我的观点。如果我已经拥有了没有春天的V,我能得到什么,我还没有Java?没有弹簧我能提供什么(请不要说mc!)

    编辑:也许我在问。如果我不使用Spring、Struts或类似的东西,我会在Java中使用MVC。对于MVC,使用JSTL,我对Java 6有什么要求。什么其他组件(我保留JSTL是有原因的)。谢谢。

    2 回复  |  直到 14 年前
        1
  •  6
  •   axtavt    14 年前

    下面是一个非常简单的例子。 当在普通香草中 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);
        }
    }
    

    在SpringMVC中,您编写了以下内容:

    @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
  •  0
  •   Stan Kurilin    14 年前

    主要认为提供的弹簧是 IoC ,伊姆霍。