Reading the data yields null

Кирилл Балашов :

I have a table with data. I want to add a new record.

enter image description here

But at some point it is impossible to consider what I introduced Console shows null. Reading the data yields null

enter image description here

post.jsp

 <h3 align="left">
        <label id="name_form_genre">Добавить должность</label>
    </h3>

    id Должности:
    <input type="text" id="post_id" style="width: 270px;" maxlength="15" value=""/>

    Название:
    <input type="text" id="post_name" style="width: 270px;" maxlength="15" value=""/>

    <div align="left"> <button onclick="add_post()" id="button_form_post">Добавить</button></div>

sample.js:

function add_post() {

var post_id = document.getElementById("post_id");
var post_name = document.getElementById("post_name");

if(post_id.value.toString().trim()=="" || post_name.value.toString().trim()=="")
{
    alert("Поля не должны быть пустые!")
}else {
    var xhr = new XMLHttpRequest();
    var body = 'action=add' + '&id=' + post_id.value + '&name=' + post_name.value;
    xhr.open("POST", "post", false);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
    xhr.send(body);
    if (xhr.status != 200)
        alert(xhr.status);
    window.location = "/post";
}}

PostServlet.java:

@WebServlet("/post")
public class PostServlet extends HttpServlet{
private PostService postService = new PostService();
public PostServlet() throws SQLException, ClassNotFoundException { }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    processRequest(request, response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    request.getRequestDispatcher("post.jsp").forward(request, response);
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response) {
    try {
        PostEntity postEntity = new PostEntity();
        String operation = request.getParameter("action");
        switch (operation) {
            case "add":
                System.out.println("=====================");
                System.out.println("ADD");
                System.out.println("post_id: " + request.getParameter("post_id"));
                System.out.println("post_name: " + request.getParameter("post_name"));

                postEntity.setPost_id(Integer.parseInt(request.getParameter("post_id")));
                postEntity.setPost_name(request.getParameter("post_name"));
                System.out.println("=====================");
                postService.insert(postEntity);
                break;
        }
        request.getRequestDispatcher("post.jsp").forward(request, response);
    } catch (Exception e) {
    e.printStackTrace();
}
}}

Can someone help identify the issue. Thanks in advance.

Shahzeb Khan :

You are setting your request parameters as id and name in the .js file but getting request parameter post_id and post_name in java. Can you verify it in your request? The error message shows that post_id and post_name is null.

Use id and name instead.

postEntity.setPost_id(Integer.parseInt(request.getParameter("id")));
postEntity.setPost_name(request.getParameter("name"));

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=166948&siteId=1