php前端和java后端数据调用流程

php前端和java后端数据调用流程

前端

1、新建php页面title.php

javascript 复制代码
<title>标题</title>
<td width="30%" class="form-key">标题内容</td>
<td width="70%">
	<input type="text" class="form-control" name="title" id="title" style="width:100%">
</td>

<?php include_once 'jstpl/title_tpl.php';?>

<script src="<?php echo $root_path ?>~main/js/title.js?v=<?php echo $v?>" type="text/javascript"></script>

2、新建js代码文件title.js

javascript 复制代码
var dataList=null;

function search(){
	var params=getSearchCondition();

	var ret=execjava("titleBean.searchTitle", params, "json");
	//数据
	dataList=ret.data;

	//模板渲染
	var titleHtml=template.render('title_Tbl',{
		dataList:dataList
	});

	$("#title_Tbl").html(titleHtml);
}

function getSearchCondition(){
	var title=$("#title").val();
	var params={
		"title":title
	};
	return params;
}

3、新建php页面title_tpl.php

javascript 复制代码
<script id="title_Tbl" type="text/html">
	<td><%=dataList[i].title%></td>
</script>

后端

1、新建java文件TitleBean.java

javascript 复制代码
package ...
import java.util.*;

@Controller
public class TitleBean{
	private static final Logger logger=LoggerFactory.getLogger(TitleBean.class);

	@Autowired
	private TitleService titleService;

	public Map<String,Object> searchTitle(){
		Map<String,Object> ret=new HashMap<String,Object>();
		Map<String,Object> params=new HashMap<String,Object>();

		try{
		String title=dform.getString("title");

		params.put("title",title);
		ret= titleService. searchTitle(params);
		}catch(Exception e){
			logger.error("获取标题出错!",e);
			ret.put("state","500");
			ret.put("receipt","获取标题出错");
		}
	return ret;
	}

2、新建java文件TitleService.java

javascript 复制代码
package ...
import java.util.*;

public interface TitleService{

	Map<String,Object> searchTitle(Map<String,Object> params);

}

3、新建java文件TitleServiceImpl.java

javascript 复制代码
package ...
import java.util.*;

public class TitleServiceImpl implements TitleService{
	private static final Logger logger=LoggerFactory.getLogger(TitleServiceImpl.class);

	@Override
	public Map<String,Object> searchTitle(Map<String,Object> params){
		Map<String,Object> ret = new HashMap<String,Object>();

		try{
			List<Map<String,Object>> dataList=dao.selectList("title.selectTitle",params);

		ret.put("data",dataList);
		ret.put("state","200");
		ret.put("receipt","获取标题列表成功");
		}catch (Exception e){
			logger.error("获取标题列表失败",e);
			ret.put("state","500");
			ret.put("receipt","获取标题列表出错");
		}
	return ret;
}

4、sql语句,新建xml文件title.xml

javascript 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "..//mybatis.org//DTD Mapper 3.0//EN" http://mybatis.org/dtd/mybatis-3-mapper.dtd>

<mapper namespace="title">
	<seclect id="selectTitle" resultType="hashmap">
		SELECT id, title FROM test_title order by id desc 
	</select>
</mapper>

数据库

新建数据库,名称为Test,新建基本表,名称为test_title

表中新建字段title,varchar(100)

相关推荐
千寻girling2 小时前
一份不可多得的 《 Django 》 零基础入门教程
后端·python·面试
奇迹_h2 小时前
打造你的HTML5打地鼠游戏:零基础入门实践
前端
SuperEugene2 小时前
Vue生态精选篇:Element Plus 的“企业后台常用组件”用法扫盲
前端·vue.js·面试
千寻girling2 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法
Neptune12 小时前
JavaScript回归基本功之---类型判断--typeof篇
前端·javascript·面试
贾铭2 小时前
如何实现一个网页版的剪映(三)使用fabric.js绘制时间轴
前端·后端
xiaoye20182 小时前
Spring 自定义 Redis 超时:TTL、TTI 与 Pipeline 实战
后端
xiaoye20183 小时前
Lettuce连接模型、命令执行、Pipeline 浅析
java
子兮曰4 小时前
后端字段又改了?我撸了一个 BFF 数据适配器,从此再也不怕接口“屎山”!
前端·javascript·架构
程序员爱钓鱼5 小时前
GoHTML解析利器:github.com/PuerkitoBio/goquery实战指南
后端·google·go