java隐藏域_springMVC隐藏域hidden提交问题

本文讲述了在SpringMVC中遇到的一个问题,即使用hidden标签尝试传递Page实体的属性值到Controller时,Controller接收到的值为null。通过查看代码,发现jsp页面使用了<input type="hidden">标签,并尝试通过@ModelAttribute注解接收参数。然而,这样做导致了错误。错误信息提示缺少'Page'的BindingResult或target对象。解决方案可能涉及检查表单提交方式、hidden字段绑定及Controller方法参数配置。
摘要由CSDN通过智能技术生成

在前台页面里有一个表单,表单里有两个input类型是 ,这两个input里的value值都是page实体类的属性值,我想把这两个值传到controller里面,可是传过去的是null。

jsp代码

method="post" modelAttribute="Page" >

controller

@RequestMapping(value = "/pagechange",method = RequestMethod.POST)

public String pageChange(@ModelAttribute("Page") Page page, Model model) {

WaterDetection wd = new WaterDetection();

System.out.println("***进入pagechange");

System.out.println("pageNo:" + page.getPageNo());

System.out.println("pageSize:" + page.getPageSize());

wd.setPage(page);

page = waterDetectionService.findPage(new Page(wd.getPage().getPageNo(),wd.getPage().getPageSize()), wd);

model.addAttribute("page", page);

return "searchResult";

}

实体类page

public class Page {

private Integer pageNo = 1; //当前页码

private Integer pageSize = 4; //页面大小

private int totalRecord; //总记录数

private int totalPage; //总页面数

private int startNo; //当前页面记录开始数

private List list = new ArrayList();

public Page(){

}

public Page(Integer pageNo,Integer pageSize){

this.pageNo = pageNo;

this.pageSize = pageSize;

init();

}

public void init(){

System.out.println("pageno="+pageNo);

if(this.pageNo < 0){

this.startNo = 0;

}

else{

this.startNo = (this.pageNo - 1) * this.pageSize;

}

}

public Integer getPageNo() {

return pageNo;

}

public void setPageNo(Integer pageNo) {

this.pageNo = pageNo;

}

public Integer getPageSize() {

return pageSize;

}

public void setPageSize(Integer pageSize) {

this.pageSize = pageSize;

}

public int getTotalRecord() {

return totalRecord;

}

public void setTotalRecord(int totalRecord) {

this.totalRecord = totalRecord;

}

public int getTotalPage() {

return totalPage;

}

public void setTotalPage(int totalPage) {

this.totalPage = totalPage;

}

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public int getStartNo() {

return startNo;

}

public void setStartNo() {

if(this.pageNo < 0){

this.startNo = 0;

}

else{

this.startNo = (this.pageNo - 1) * this.pageSize;

}

}

}

运行结果报错

2b25722b0321cf560b374c620c6462cf.png

控制台输出显示,没有把那两个值传过来

2901ee60a8abbfd328fe0f13b860f642.png

后来上网搜说是要把改成,改之后就报了这个错误

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'Page' available as request attribute

截图

1b3e8f99217531d8af5eb47151bc00bf.png

那位大神可以解答一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值