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)

相关推荐
程序员黑豆5 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
桦说编程8 小时前
并发编程中的等待-通知模式:从 wait/notify 到 Guava Monitor
后端
bugcome_com8 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC8 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕8 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
mldong9 小时前
"applicant" 契约:退回发起人的闭环设计
java·架构
月华路9 小时前
G1 垃圾回收:脏卡队列、记忆集与并发精化线程机制
java·开发语言
用户938515635079 小时前
工厂模式与 Nest.js 核心思想 —— 从蜜雪冰城到企业级架构
后端·设计模式·nestjs
用户938515635079 小时前
实战 Todo CRUD —— 从路由到异常,手写一个完整模块
后端·typescript·nestjs
dog2509 小时前
网络优化,还是降低各阶矩
服务器·网络·php