0

こんにちは私はjspとSpringの初心者です。従業員情報の表があります。各行に編集リンクを追加したいのですが、編集リンクをクリックすると、行の主キーがコントローラーに送信されます。編集リンクをクリックすると、「クライアントから送信された要求は構文的に正しくありませんでした()」というエラーが表示されます。

このページには表が表示されます

employeeList.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Employee List</title>
    </head>
    <body>
        <div align="center">
            <h1 align="center">Employee List</h1>
            <table align="center" border="1">
            <tr><th>Pk</th><th>Employee Name</th><th>Employee email</th><th>Address</th><th>Manager Id</th><th>Edit</th><th>Delete</th></tr>
            <c:forEach var="employeeList" items="${list}">
                <tr>
                    <td><c:out value="${employeeList.id}"/></td>
                    <td><c:out value="${employeeList.name}"/> </td>
                    <td><c:out value="${employeeList.email}"/> </td>
                    <td><c:out value="${employeeList.address}"/></td>
                    <td><c:out value="${employeeList.managerId}"/></td>

                    <td><a href="editEmployee.htm?id=${id}" >Edit</a></td>
                    <td><a href="deleteEmployee.htm?id=${id}" >Delete</a></td>
                </tr>
            </c:forEach>
            </table>
        </div>
    </body>
</html>

私のコントローラーコードは

@RequestMapping(value="/editEmployee.htm")
public String editEmployee(@RequestParam("id") int id,ModelMap model){
    try {
        Employee employee = employeeService.getEmployeeById(id);
        model.addAttribute("employee", employee);
        return "editEmployee";
    } catch (Exception ex) {
        return "index";
    }

}

editEmployee.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Registration Page</title>
        <style>
            .error {
            color: #ff0000;
            font-style: italic;
            }
        </style>
    </head>
    <body>
        Edit Employee<br>
    </body>
</html>

この問題を解決するにはどうすればよいですか。

4

2 に答える 2

2

jspを次のように変更します

<c:url var="editUrl" value="/editEmployee.htm" />
<a href="${editUrl}?id=${employeeList.id}">
    Edit
</a>
<c:url var="deleteUrl" value="/deleteEmployee.htm" />
<a href="${deleteUrl}?id=${employeeList.id}">
    Delete
</a
于 2012-07-05T08:32:18.540 に答える
0

@RequestMapping(value="/editEmployee.htm") - 間違っています

@RequestMapping(value="/editEmployee/{id}")
public String editEmployee(@PathVariable int id,ModelMap model){
    try {
        Employee employee = employeeService.getEmployeeById(id);
        model.addAttribute("employee", employee);
        return "editEmployee";
    } catch (Exception ex) {
        return "index";
    }

}

また、 href="editEmployee.htm?id=${id} これは、 href="editEmployee/${id} のようなものにする必要があります

于 2012-07-05T08:05:33.980 に答える