繁体   English   中英

Spring MVC将用户添加到关注者表按钮不将用户保存到数据库

[英]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.

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