简体   繁体   中英

Not Able To Retrieve particular data from database for updating feature using spring boot with JPA

Code Of Controller Class:

@RequestMapping("/update-admin/{email}") public String
      editUser(@PathVariable(value = "email") String email,@ModelAttribute User
      user, HttpServletRequest request) { if
      (userService.findByEmail(user.getEmail()) != null) {
      request.setAttribute("users", userService.findByEmail(email));
      request.setAttribute("name",user.getName());
      request.setAttribute("mode","MODE_UPDATE"); return "homepage"; }
      else { request.setAttribute("error", "404 Page not Found");
      request.setAttribute("mode", "MODE_Page"); return "homepage"; }
    }

Code For UserService:

public User findByEmail(String email) {
        return userRepository.findByEmail(email);
}

Code Of UserRepository:

public User findByEmail(String email);

JSP Page:

    <li><a href="/update-admin/${user.getEmail()}">Edit Detail</a></li>
<c:choose>
    <c:when test="${mode=='MODE_UPDATE' }">
        <div class="container text-center">
        <hr>

            <h3>Edit Detail</h3>
                <hr>

                <form class="form-horizontal" method="POST" action="saveadmin" >

                        <input type="hidden" name="email" value="${user.email }" />
                    <div class="form-group">
                        <label class="control-label col-md-3">First Name</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="name" value="${user.name }" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Last Name</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="lastname" value="${user.lastname }" />
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-md-3">Email-id</label>
                        <div class="col-md-7">
                            <input type="email" class="form-control" name="email" value="${user.email }" />
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-md-3">Institute name</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="institute_name" value="${user.institute_name }" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Institute Address</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="institute_add" value="${user.institute_add }" />
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-md-3">Qualification</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="qualification" value="${user.qualification }" />
                        </div>
                    </div>

                    <div class="form-group">
                        <label class="control-label col-md-3">City</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="city" value="${user.city }" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Area</label>
                        <div class="col-md-7">
                            <input type="text" class="form-control" name="area" value="${user.area }" />
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="control-label col-md-3">Contact Number</label>
                        <div class="col-md-7">
                            <input type="number" class="form-control" name="number" value="${user.number }" />
                        </div>
                    </div>  

                    <div class="form-group ">
                        <input type="submit" class="btn btn-primary" value="Update" />
                    </div>
                </form>
            </div>
        </c:when>
    </c:choose> 

I am not able to Display other field value from mysql database except email For Updating Feature as shown in the picture. Please Help.

前端

Can you try:

@RequestMapping("/update-admin/{email}") 
public String editUser(@PathVariable(value = "email") String email,@ModelAttribute User user, HttpServletRequest request) { 
        User persisted = userService.findByEmail(email);
        if( persisted != null) {
          request.setAttribute("user", persisted);
          request.setAttribute("name",user.getName());
          request.setAttribute("mode","MODE_UPDATE"); return "homepage"; }
        else { 
          request.setAttribute("error", "404 Page not Found");
          request.setAttribute("mode", "MODE_Page"); return "homepage"; 
        }
    }

Please notice line request.setAttribute("user", persisted); we need to make sure attribute is define as user.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM