发表于: 2018-04-06 23:51:45
1 643
一。先搞会了如何把前端的值传输到后端
@RequestMapping(value="/test1",method=RequestMethod.GET)
public String test1(){
return"one";
}
在页面输入/test之后,就会跳转到one.jsp页面
里面应该这样写
<form action="${pageContext.request.contextPath}/test2 " ,method = "get" >
<input type = "text" name="name">
<input type = "text" name="qq">
<input type = "text" name="major">
<input type="submit" value="传输">
</form>
展示页面后,页面上会有三个框框,输入数据,点击传输按钮。然后控制器里就要把数据展示在控制台上。
控制器里面还要继续写一个方法
@RequestMapping(value="/test2",method="get")
public void test2(String name,String qq,String major){
String space = name + qq + major
log.info(space);
}
刚才是手写的,现在看看IDEA里面写的
//确定要传值的页面
@RequestMapping(value = "/front/back", method = RequestMethod.GET)
public String frontBack() {
return "fb";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/back" method="get">
<br>姓名<input type="text" name="name">
<br>QQ<input type="text" name="qq">
<br>主业<input type="text" name="major">
<input type="submit" value="传值">
</form>
</body>
</html>
//要处理传进来的值的程序
@RequestMapping(value = "/back", method = RequestMethod.GET)
public void backTo(String name, String qq, String major) {
String speace = name + qq + major;
log.info(speace);
}
经过实际检测,这样是能把三个数据都能传进来,如果携程System.out.pritln(name+qq+major);也能把所有的数据传进来
但是,如果携程log.info(name,qq,major)的话,只能在控制台显示name。不知何故,但是三个参数都传进来了,就是显示不出来而已。
二。复习一下后端传输到前端,从现在开始,十分钟之内,在IDEA做出来
@RequestMapping(value = "/test20180407",method = RequestMethod.GET)
public String test2(Model model){
Student student = new Student();
student.setName("鹿晗");
student.setQq("9999");
student.setMajor("PM");
student.setId(111111);
model.addAttribute("str",student);
return "four";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${str}
</body>
</html>
运行之后,在前台页面输出了鹿晗什么的
三。复习一下从前端输入ID,然后从前端查出
@RequestMapping(value ="/student/f",method = RequestMethod.GET)
public String select2(){
return"five";
}
@RequestMapping(value = "/test20180407002" ,method = RequestMethod.GET)
public String select3(int id,Model model){
Student student= studentService.selectById(id);
model.addAttribute("show",student);
return "six";
}
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/test20180407002" method="get">
<input type="text" name="id">
<input type="submit" value="查询">
</form>
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%--<form action="${pageContext.request.contextPath}/student" method="get">--%>
<%--<input type="text" name="name" value="${student.name}">--%>
<%--<input type="text" name="qq" value="${student.qq}">--%>
<%--<input type="text" name="major" value="${student.major}">--%>
<%--</form>--%>
<th>${show.qq}</th>
<th>${show.name}</th>
<th>${show.major}</th>
</body>
</html>
总结:一开始,脑子糊涂了,老想着数据传输到前端,怎么显示出来,完全忘了刚刚做过的把数据从后端传输到前端的EL表达式,说明,第一个不理解,第二个不熟练。输错的地方,我已经注释掉了,运行之后,成功根据id查出数据。
四。很重要的一点,把URL用restful写出来
比如查询/student/1 GET 也就是method=RequestMrthod.GET
增加POST
删除DELETE
修改PUT
五。做了json,页面显示:
@RequestMapping(value = "/json", method = RequestMethod.GET)
public String json(Model model)
List<Student> studentList = studentService.list();
model.addAttribute("student1", studentList);
return "jsonList";
}
<json:object escapeXml="false">
<json:array name="学员信息" var="student" items="${student1}">
<json:object>
<json:property name="id" value="${student.id}"></json:property>
<json:property name="姓名" value="${student.name}"></json:property>
<json:property name="QQ" value="${student.qq}"></json:property>
<json:property name="major" value="${student.major}"></json:property>
</json:object>
</json:array>
</json:object>
写json控制器方法的时候,还是卡了一下壳。看来还是应该多写几遍
明天的计划:提交任务二
遇到的问题:暂无
今天的收获:学会后端值传到前端了,
java任务二开始时间:2018.01.25
预计demo时间:2018.02.12
可能有延期风险,原因是:json看不懂,控制器的逻辑看不懂,所以又回看了java语法
禅道链接地址:http://task.ptteng.com/zentao/project-task-501.html
评论