[英]Spring MVC add user to follower table button not saving user to db
我在用户个人资料上有一个关注按钮,该按钮应该将当前用户添加到数据库表“关注者”中,但是当我单击该按钮时,什么都没有设置(我知道),什么也没有发生
所以
在我有一个追随者服务
@Service
public class FollowerService {
@Autowired
private FollowerRepository followerRepo;
@Autowired
private UserRepository userRepo;
public void save(Follower follower, String name) {
User user = MyTools.getSessionUser();
follower.setUser(user);
System.out.println(name + "=====================================================");
followerRepo.save(follower);
}
public void delete(long id) {
followerRepo.delete(id);
}
}
这很标准,我可能会在某处丢失数据,但是由于某种原因我完全看不到它,不确定是什么问题
FollowerRepository
public interface FollowerRepository extends JpaRepository<Follower, Long> {
List<Follower> findByUser(User user);
}
追随者实体:
@Entity
public class Follower {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@ManyToOne
@JoinColumn(name = "user_id")
private User user;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
在UserController内部,我有一个地图,但不确定如何映射它,我有一个在/ {userId}中工作的tweet按钮,如果我将其映射到相同的URL,则会出错
@RequestMapping(value = "/{userId}/follow", method = RequestMethod.POST)
public String doAddFollower(@ModelAttribute("follow") Follower follower, Principal principal) {
String name = principal.getName();
followerService.save(follower, name);
return "redirect:/users/{userId}";
}
更新:
这是按钮视图中的内容,我敢肯定这有问题:
<form:form modelAttribute="follow" cssClass="form-horizontal">
<button value="Follow Me" type="Submit" class="btn btn-primary btn-lg" style=" margin-left: 10px;" >Follow Me</button>
</form:form>
您必须在<form:form>
标记上添加“ action”属性。 例:
<form:form method="post" action="follow" modelAttribute="follow" cssClass="form-horizontal">
<button value="Follow Me" type="Submit" class="btn btn-primary btn-lg" style=" margin-left: 10px;" >Follow Me</button>
</form:form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.