org.springframework.beans.NotReadablePropertyException: - dropdown form









up vote
1
down vote

favorite












I've looked at other threads related to this error and cannot figure out why I'm still running into this issue. I believe the issue is with my HTML template. I'm trying to create a simple dropdown box to select a list of "workouts" for deletion.



HTML form:



 <form action="#" th:action="@/workout/deleteWorkout" th:object="$workout" method="post">
<select th:field="*workout" name="workout" class="selectForm">
<option th:each="workout : $workouts"
th:value="$workout.workoutID"
th:text="$workout.workoutName">
</option>
</select>
<input type="submit" class="input-box">
</form>


Controller methods for page:



 @GetMapping("/workout/deleteWorkout")
public String deleteWorkoutForm(Model model,
HttpServletRequest request)
Account account = (Account) request.getSession().getAttribute("loggedInUser");
model.addAttribute("workouts", workoutService.getWorkouts(account));
return "deleteWorkout";


@PostMapping("/workout/deleteWorkout")
public String deleteWorkout(@ModelAttribute Workout workout)
workoutService.deleteWorkout(workout);
return "workoutDeleted";



Error:



org.springframework.beans.NotReadablePropertyException: Invalid property 'workout' of bean class [depaul.tables.Workout]: Bean property 'workout' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?


Any help is appreciated. I'm especially confused because in a different method, I had no problem getting a dropdown box to select a workout functional. Thanks!



edit:
Workout:



@Entity
public class Workout implements Serializable, IWorkout {

public Workout()


public Workout(String accountName, String workoutName, String description, String workoutDate)
this.accountName = accountName;
this.workoutName = workoutName;
this.description = description;
this.workoutDate = workoutDate;


private String accountName;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long workoutID;

@NotNull
private String workoutName;

private String description;

private String workoutDate;

@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "workout")
@Nullable
private Collection<Exercise> exercises = new ArrayList<Exercise>();

public String getAccountName()
return accountName;


public void setAccountName(String accountName)
this.accountName = accountName;


@Override
public Long getWorkoutID()
return workoutID;


@Override
public void setWorkoutID(Long workoutID)
this.workoutID = workoutID;


@Override
public String getWorkoutName()
return this.workoutName;


@Override
public void setWorkoutName(String workoutName)
this.workoutName = workoutName;


@Override
public String getDescription()
return description;


@Override
public void setDescription(String description)
this.description = description;


@Override
public String getWorkoutDate()
return this.workoutDate;


@Override
public void setWorkoutDate(String workoutDate)
this.workoutDate = workoutDate;


@Override
public Collection<Exercise> getExercises()
return exercises;


@Override
public void setExercises(Collection<Exercise> exercises)
this.exercises = exercises;










share|improve this question



















  • 1




    can you share your workout class as well please?
    – sanchezdale
    Nov 9 at 16:12











  • yep one second.
    – Polyphase29
    Nov 9 at 16:12






  • 1




    What is your workout service returning? a list<Workout>?
    – sanchezdale
    Nov 9 at 16:21










  • Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
    – Polyphase29
    Nov 9 at 16:22














up vote
1
down vote

favorite












I've looked at other threads related to this error and cannot figure out why I'm still running into this issue. I believe the issue is with my HTML template. I'm trying to create a simple dropdown box to select a list of "workouts" for deletion.



HTML form:



 <form action="#" th:action="@/workout/deleteWorkout" th:object="$workout" method="post">
<select th:field="*workout" name="workout" class="selectForm">
<option th:each="workout : $workouts"
th:value="$workout.workoutID"
th:text="$workout.workoutName">
</option>
</select>
<input type="submit" class="input-box">
</form>


Controller methods for page:



 @GetMapping("/workout/deleteWorkout")
public String deleteWorkoutForm(Model model,
HttpServletRequest request)
Account account = (Account) request.getSession().getAttribute("loggedInUser");
model.addAttribute("workouts", workoutService.getWorkouts(account));
return "deleteWorkout";


@PostMapping("/workout/deleteWorkout")
public String deleteWorkout(@ModelAttribute Workout workout)
workoutService.deleteWorkout(workout);
return "workoutDeleted";



Error:



org.springframework.beans.NotReadablePropertyException: Invalid property 'workout' of bean class [depaul.tables.Workout]: Bean property 'workout' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?


Any help is appreciated. I'm especially confused because in a different method, I had no problem getting a dropdown box to select a workout functional. Thanks!



edit:
Workout:



@Entity
public class Workout implements Serializable, IWorkout {

public Workout()


public Workout(String accountName, String workoutName, String description, String workoutDate)
this.accountName = accountName;
this.workoutName = workoutName;
this.description = description;
this.workoutDate = workoutDate;


private String accountName;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long workoutID;

@NotNull
private String workoutName;

private String description;

private String workoutDate;

@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "workout")
@Nullable
private Collection<Exercise> exercises = new ArrayList<Exercise>();

public String getAccountName()
return accountName;


public void setAccountName(String accountName)
this.accountName = accountName;


@Override
public Long getWorkoutID()
return workoutID;


@Override
public void setWorkoutID(Long workoutID)
this.workoutID = workoutID;


@Override
public String getWorkoutName()
return this.workoutName;


@Override
public void setWorkoutName(String workoutName)
this.workoutName = workoutName;


@Override
public String getDescription()
return description;


@Override
public void setDescription(String description)
this.description = description;


@Override
public String getWorkoutDate()
return this.workoutDate;


@Override
public void setWorkoutDate(String workoutDate)
this.workoutDate = workoutDate;


@Override
public Collection<Exercise> getExercises()
return exercises;


@Override
public void setExercises(Collection<Exercise> exercises)
this.exercises = exercises;










share|improve this question



















  • 1




    can you share your workout class as well please?
    – sanchezdale
    Nov 9 at 16:12











  • yep one second.
    – Polyphase29
    Nov 9 at 16:12






  • 1




    What is your workout service returning? a list<Workout>?
    – sanchezdale
    Nov 9 at 16:21










  • Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
    – Polyphase29
    Nov 9 at 16:22












up vote
1
down vote

favorite









up vote
1
down vote

favorite











I've looked at other threads related to this error and cannot figure out why I'm still running into this issue. I believe the issue is with my HTML template. I'm trying to create a simple dropdown box to select a list of "workouts" for deletion.



HTML form:



 <form action="#" th:action="@/workout/deleteWorkout" th:object="$workout" method="post">
<select th:field="*workout" name="workout" class="selectForm">
<option th:each="workout : $workouts"
th:value="$workout.workoutID"
th:text="$workout.workoutName">
</option>
</select>
<input type="submit" class="input-box">
</form>


Controller methods for page:



 @GetMapping("/workout/deleteWorkout")
public String deleteWorkoutForm(Model model,
HttpServletRequest request)
Account account = (Account) request.getSession().getAttribute("loggedInUser");
model.addAttribute("workouts", workoutService.getWorkouts(account));
return "deleteWorkout";


@PostMapping("/workout/deleteWorkout")
public String deleteWorkout(@ModelAttribute Workout workout)
workoutService.deleteWorkout(workout);
return "workoutDeleted";



Error:



org.springframework.beans.NotReadablePropertyException: Invalid property 'workout' of bean class [depaul.tables.Workout]: Bean property 'workout' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?


Any help is appreciated. I'm especially confused because in a different method, I had no problem getting a dropdown box to select a workout functional. Thanks!



edit:
Workout:



@Entity
public class Workout implements Serializable, IWorkout {

public Workout()


public Workout(String accountName, String workoutName, String description, String workoutDate)
this.accountName = accountName;
this.workoutName = workoutName;
this.description = description;
this.workoutDate = workoutDate;


private String accountName;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long workoutID;

@NotNull
private String workoutName;

private String description;

private String workoutDate;

@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "workout")
@Nullable
private Collection<Exercise> exercises = new ArrayList<Exercise>();

public String getAccountName()
return accountName;


public void setAccountName(String accountName)
this.accountName = accountName;


@Override
public Long getWorkoutID()
return workoutID;


@Override
public void setWorkoutID(Long workoutID)
this.workoutID = workoutID;


@Override
public String getWorkoutName()
return this.workoutName;


@Override
public void setWorkoutName(String workoutName)
this.workoutName = workoutName;


@Override
public String getDescription()
return description;


@Override
public void setDescription(String description)
this.description = description;


@Override
public String getWorkoutDate()
return this.workoutDate;


@Override
public void setWorkoutDate(String workoutDate)
this.workoutDate = workoutDate;


@Override
public Collection<Exercise> getExercises()
return exercises;


@Override
public void setExercises(Collection<Exercise> exercises)
this.exercises = exercises;










share|improve this question















I've looked at other threads related to this error and cannot figure out why I'm still running into this issue. I believe the issue is with my HTML template. I'm trying to create a simple dropdown box to select a list of "workouts" for deletion.



HTML form:



 <form action="#" th:action="@/workout/deleteWorkout" th:object="$workout" method="post">
<select th:field="*workout" name="workout" class="selectForm">
<option th:each="workout : $workouts"
th:value="$workout.workoutID"
th:text="$workout.workoutName">
</option>
</select>
<input type="submit" class="input-box">
</form>


Controller methods for page:



 @GetMapping("/workout/deleteWorkout")
public String deleteWorkoutForm(Model model,
HttpServletRequest request)
Account account = (Account) request.getSession().getAttribute("loggedInUser");
model.addAttribute("workouts", workoutService.getWorkouts(account));
return "deleteWorkout";


@PostMapping("/workout/deleteWorkout")
public String deleteWorkout(@ModelAttribute Workout workout)
workoutService.deleteWorkout(workout);
return "workoutDeleted";



Error:



org.springframework.beans.NotReadablePropertyException: Invalid property 'workout' of bean class [depaul.tables.Workout]: Bean property 'workout' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?


Any help is appreciated. I'm especially confused because in a different method, I had no problem getting a dropdown box to select a workout functional. Thanks!



edit:
Workout:



@Entity
public class Workout implements Serializable, IWorkout {

public Workout()


public Workout(String accountName, String workoutName, String description, String workoutDate)
this.accountName = accountName;
this.workoutName = workoutName;
this.description = description;
this.workoutDate = workoutDate;


private String accountName;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long workoutID;

@NotNull
private String workoutName;

private String description;

private String workoutDate;

@OneToMany(cascade = CascadeType.ALL,
fetch = FetchType.EAGER,
mappedBy = "workout")
@Nullable
private Collection<Exercise> exercises = new ArrayList<Exercise>();

public String getAccountName()
return accountName;


public void setAccountName(String accountName)
this.accountName = accountName;


@Override
public Long getWorkoutID()
return workoutID;


@Override
public void setWorkoutID(Long workoutID)
this.workoutID = workoutID;


@Override
public String getWorkoutName()
return this.workoutName;


@Override
public void setWorkoutName(String workoutName)
this.workoutName = workoutName;


@Override
public String getDescription()
return description;


@Override
public void setDescription(String description)
this.description = description;


@Override
public String getWorkoutDate()
return this.workoutDate;


@Override
public void setWorkoutDate(String workoutDate)
this.workoutDate = workoutDate;


@Override
public Collection<Exercise> getExercises()
return exercises;


@Override
public void setExercises(Collection<Exercise> exercises)
this.exercises = exercises;







java spring thymeleaf






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 9 at 16:12

























asked Nov 9 at 16:06









Polyphase29

838




838







  • 1




    can you share your workout class as well please?
    – sanchezdale
    Nov 9 at 16:12











  • yep one second.
    – Polyphase29
    Nov 9 at 16:12






  • 1




    What is your workout service returning? a list<Workout>?
    – sanchezdale
    Nov 9 at 16:21










  • Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
    – Polyphase29
    Nov 9 at 16:22












  • 1




    can you share your workout class as well please?
    – sanchezdale
    Nov 9 at 16:12











  • yep one second.
    – Polyphase29
    Nov 9 at 16:12






  • 1




    What is your workout service returning? a list<Workout>?
    – sanchezdale
    Nov 9 at 16:21










  • Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
    – Polyphase29
    Nov 9 at 16:22







1




1




can you share your workout class as well please?
– sanchezdale
Nov 9 at 16:12





can you share your workout class as well please?
– sanchezdale
Nov 9 at 16:12













yep one second.
– Polyphase29
Nov 9 at 16:12




yep one second.
– Polyphase29
Nov 9 at 16:12




1




1




What is your workout service returning? a list<Workout>?
– sanchezdale
Nov 9 at 16:21




What is your workout service returning? a list<Workout>?
– sanchezdale
Nov 9 at 16:21












Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
– Polyphase29
Nov 9 at 16:22




Yeah, i'm trying to just have a dropdown box where have a list of workouts then pick one to delete.
– Polyphase29
Nov 9 at 16:22












1 Answer
1






active

oldest

votes

















up vote
1
down vote



accepted










What i think is happening is that thymeleaf is trying to bind the selection of select th:field="*workout" name="workout" class="selectForm"> which is name "workout" to a property of the public class Workout which is not part of that class.



Since the actual value that you want to set is the workoutID i would name my field



<select th:field="*workoutID" name="workout" class="selectForm">



so thymeleaf binds the parameter to the setWorkoutID(). instead of looking for a setWorkout() of the property that does not exists.



Hope this helps!



Edit 1:



Since there is a @ModelAttribute called 'workout' and of Workout.class type expected in the controller, when the page renders, the servlet engine is looking for this object to bind it to the Request. Therefore, you need to add this line to the deleteWorkoutForm() method:



model.addAttribute("workout", new Workout());



This initializes and binds the object to the Model in the RequestContext.






share|improve this answer






















  • thanks for the help. unfortunately that still isnt working :(
    – Polyphase29
    Nov 9 at 16:43










  • is it throwing exactly the same error?
    – sanchezdale
    Nov 9 at 16:44











  • actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
    – Polyphase29
    Nov 9 at 16:44










  • What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
    – sanchezdale
    Nov 9 at 16:51










  • same error. bah.
    – Polyphase29
    Nov 9 at 16:53










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229316%2forg-springframework-beans-notreadablepropertyexception-dropdown-form%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
1
down vote



accepted










What i think is happening is that thymeleaf is trying to bind the selection of select th:field="*workout" name="workout" class="selectForm"> which is name "workout" to a property of the public class Workout which is not part of that class.



Since the actual value that you want to set is the workoutID i would name my field



<select th:field="*workoutID" name="workout" class="selectForm">



so thymeleaf binds the parameter to the setWorkoutID(). instead of looking for a setWorkout() of the property that does not exists.



Hope this helps!



Edit 1:



Since there is a @ModelAttribute called 'workout' and of Workout.class type expected in the controller, when the page renders, the servlet engine is looking for this object to bind it to the Request. Therefore, you need to add this line to the deleteWorkoutForm() method:



model.addAttribute("workout", new Workout());



This initializes and binds the object to the Model in the RequestContext.






share|improve this answer






















  • thanks for the help. unfortunately that still isnt working :(
    – Polyphase29
    Nov 9 at 16:43










  • is it throwing exactly the same error?
    – sanchezdale
    Nov 9 at 16:44











  • actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
    – Polyphase29
    Nov 9 at 16:44










  • What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
    – sanchezdale
    Nov 9 at 16:51










  • same error. bah.
    – Polyphase29
    Nov 9 at 16:53














up vote
1
down vote



accepted










What i think is happening is that thymeleaf is trying to bind the selection of select th:field="*workout" name="workout" class="selectForm"> which is name "workout" to a property of the public class Workout which is not part of that class.



Since the actual value that you want to set is the workoutID i would name my field



<select th:field="*workoutID" name="workout" class="selectForm">



so thymeleaf binds the parameter to the setWorkoutID(). instead of looking for a setWorkout() of the property that does not exists.



Hope this helps!



Edit 1:



Since there is a @ModelAttribute called 'workout' and of Workout.class type expected in the controller, when the page renders, the servlet engine is looking for this object to bind it to the Request. Therefore, you need to add this line to the deleteWorkoutForm() method:



model.addAttribute("workout", new Workout());



This initializes and binds the object to the Model in the RequestContext.






share|improve this answer






















  • thanks for the help. unfortunately that still isnt working :(
    – Polyphase29
    Nov 9 at 16:43










  • is it throwing exactly the same error?
    – sanchezdale
    Nov 9 at 16:44











  • actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
    – Polyphase29
    Nov 9 at 16:44










  • What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
    – sanchezdale
    Nov 9 at 16:51










  • same error. bah.
    – Polyphase29
    Nov 9 at 16:53












up vote
1
down vote



accepted







up vote
1
down vote



accepted






What i think is happening is that thymeleaf is trying to bind the selection of select th:field="*workout" name="workout" class="selectForm"> which is name "workout" to a property of the public class Workout which is not part of that class.



Since the actual value that you want to set is the workoutID i would name my field



<select th:field="*workoutID" name="workout" class="selectForm">



so thymeleaf binds the parameter to the setWorkoutID(). instead of looking for a setWorkout() of the property that does not exists.



Hope this helps!



Edit 1:



Since there is a @ModelAttribute called 'workout' and of Workout.class type expected in the controller, when the page renders, the servlet engine is looking for this object to bind it to the Request. Therefore, you need to add this line to the deleteWorkoutForm() method:



model.addAttribute("workout", new Workout());



This initializes and binds the object to the Model in the RequestContext.






share|improve this answer














What i think is happening is that thymeleaf is trying to bind the selection of select th:field="*workout" name="workout" class="selectForm"> which is name "workout" to a property of the public class Workout which is not part of that class.



Since the actual value that you want to set is the workoutID i would name my field



<select th:field="*workoutID" name="workout" class="selectForm">



so thymeleaf binds the parameter to the setWorkoutID(). instead of looking for a setWorkout() of the property that does not exists.



Hope this helps!



Edit 1:



Since there is a @ModelAttribute called 'workout' and of Workout.class type expected in the controller, when the page renders, the servlet engine is looking for this object to bind it to the Request. Therefore, you need to add this line to the deleteWorkoutForm() method:



model.addAttribute("workout", new Workout());



This initializes and binds the object to the Model in the RequestContext.







share|improve this answer














share|improve this answer



share|improve this answer








edited Nov 9 at 17:26

























answered Nov 9 at 16:38









sanchezdale

10716




10716











  • thanks for the help. unfortunately that still isnt working :(
    – Polyphase29
    Nov 9 at 16:43










  • is it throwing exactly the same error?
    – sanchezdale
    Nov 9 at 16:44











  • actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
    – Polyphase29
    Nov 9 at 16:44










  • What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
    – sanchezdale
    Nov 9 at 16:51










  • same error. bah.
    – Polyphase29
    Nov 9 at 16:53
















  • thanks for the help. unfortunately that still isnt working :(
    – Polyphase29
    Nov 9 at 16:43










  • is it throwing exactly the same error?
    – sanchezdale
    Nov 9 at 16:44











  • actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
    – Polyphase29
    Nov 9 at 16:44










  • What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
    – sanchezdale
    Nov 9 at 16:51










  • same error. bah.
    – Polyphase29
    Nov 9 at 16:53















thanks for the help. unfortunately that still isnt working :(
– Polyphase29
Nov 9 at 16:43




thanks for the help. unfortunately that still isnt working :(
– Polyphase29
Nov 9 at 16:43












is it throwing exactly the same error?
– sanchezdale
Nov 9 at 16:44





is it throwing exactly the same error?
– sanchezdale
Nov 9 at 16:44













actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
– Polyphase29
Nov 9 at 16:44




actually no - now its java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'workout' available as request attribute at org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:153) at org.springframework.web.servlet.support.RequestContext.getBindStatus(RequestContext.java:903)
– Polyphase29
Nov 9 at 16:44












What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
– sanchezdale
Nov 9 at 16:51




What if you use name="workoutID" otherwise, since you're not sending the whole Workout object but just the workoutID from the select, i would just receive that and create the instance in the deleteWrokout() method.
– sanchezdale
Nov 9 at 16:51












same error. bah.
– Polyphase29
Nov 9 at 16:53




same error. bah.
– Polyphase29
Nov 9 at 16:53

















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53229316%2forg-springframework-beans-notreadablepropertyexception-dropdown-form%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)