当前位置: 首页 > 知识库问答 >
问题:

spring mvc请求映射问题

宗晟
2023-03-14

我在一个spring mvc应用程序中工作(我在spring mvc中是新的)。

@Controller
@RequestMapping("/prueba2")
public class controller2 {

Stock stock=new Stock();
List stockList=new ArrayList<Stock>();
ApplicationContext appContext = new ClassPathXmlApplicationContext("spring/config/BeanLocations.xml");
StockBo stockBo = (StockBo)appContext.getBean("stockBo");


@RequestMapping(method = RequestMethod.GET)
public Stock returnCustomer(ModelMap model) {
    stock=stockBo.findByStockCode("7668");
    model.addAttribute("miStock", stock);
    return stock;


}

@RequestMapping(method = RequestMethod.GET)
public @ResponseBody
List<Stock>returnAll(ModelMap model) {

    stockList=stockBo.findAll();
    System.out.println("lista objetos--->"+stockList.toString());
    model.addAttribute("listaStock", stockList);
    return stockList;


}

public StockBo getStockBo() {
    return stockBo;
}

public void setStockBo(StockBo stockBo) {
    this.stockBo = stockBo;
}
}
<%@ taglib prefix="c"
       uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<body>

<h1>Message : "Por fin funciona!!!"</h1>

<table border="1">
<tr>
<th>Codigo Stock</th>
<th>Nombre Stock</th>
</tr>
<tr>
<td>${miStock.stockCode}</td>
<td>${miStock.stockName}</td>
</tr>

</table>




<h1>Tabla con lista de stock</h1>

    <table>

        <tr>
            <th>Codigo Stock</th>
            <th>Nombre Stock</th>

        </tr>

            <c:forEach items="${listaStock}" var="stock">
        <tr>
            <td>
                ${stock.stockCode}
            </td>
            <td>
                ${stock.stockName}
            </td>

         </tr>

        </c:forEach>

    </table>

  <ul>codigo stock
   <c:forEach items="${listaStock}" var="stock">
  <li> <c:out value="${stock.stockCode}"></c:out>  </li>
    </c:forEach>
  </ul>
</body>
</html>

共有1个答案

于嘉许
2023-03-14

如果您需要访问股票列表以及同一JSP中的单个股票项,那么只需将股票列表添加到模型中。

@RequestMapping(method = RequestMethod.GET)
public Stock returnCustomer(ModelMap model) {
    stock = stockBo.findByStockCode("7668");
    model.addAttribute("miStock", stock);
    model.addAttribute("listaStock", stockBo.findAll()); // Add the list to model
    return stock;
}

或者,您可以将它设置为一个单独的方法,如果它在同一个控制器中的许多方法中使用,这将节省重复。

@RequestMapping(method = RequestMethod.GET)
public Stock returnCustomer(ModelMap model) {
    stock = stockBo.findByStockCode("7668");
    model.addAttribute("miStock", stock);
    return stock;
}

@ModelAttribute("listaStock") 
public List<Stock> getAllStock() { // Called and set by Spring automatically
    return stockBo.findAll();
}
 类似资料:
  • http://some-amazon-link:8080/the-war-name/login 现在我正在纠结如何在Spring MVC项目中添加“/the-war-name/”以及在哪里添加“/the-war-name/”。 它在 null

  • 我在我的SpringMVC项目中得到了这个错误。我必须在浏览器中手动添加完整的路径来运行代码,但我不能直接运行它。 web.xml:

  • Web 容器需要本章描述的映射技术去映射客户端请求到 Servlet(该规范2.5以前的版本,使用这些映射技术是作为一个建议而不是要求,允许servlet 容器各有其不同的策略用于映射客户端请求到 servlet)。

  • 我正在尝试使用spring MVC。我的问题是,在我的控制器中没有请求映射工作,只有我的主页链接:“/”工作。 我的web.xml文件是: 2019年5月9日下午4:55:42 org.springframework.web.servlet.dispatcherservlet noHandlerFound警告:GET/springmvc/showform没有映射

  • 很抱歉再次问这种问题,但我无法通过查看其他线程和Spring doc来解决我的问题。 我正在使用maven的3.1.0.RELEASE,并尝试使用注释和java配置。 以下是我的web.xml: 这是我的档案web-application-config.xml. 我有两个类。第一个配置视图解析器 第二个定义我的控制器: 根据我的配置,我想一切都应该指向我的home()函数。然而,事实并非如此,以下