SSM架構——前後臺數據通信流程

1、前端jsp界面

html設置一個輸入控件和一個按鈕

...
 <tr>
	            <td>貨物ID:</td>
	            <td><input id="orderObjid" class="easyui-textbox" type="text" data-options="required:true" onblur="SearchItem()" style="width: 280px;"></input>
	            <a href="javascript:void(0)" class="easyui-linkbutton" onclick="SearchItem()">驗證貨物</a>
	            </td>
	        </tr>
......

輸入控件:用戶輸入一串ID數;

按鈕:點擊後可根據ID查詢對應信息並返回顯示。

貨物驗證
貨物驗證前JSP界面
貨物驗證後
驗證貨物後,後臺數據返回自動填充到對應控件上。

對於按鈕上JavaScript動作對應的函數——SearchItem()如下:

<script type="text/javascript">
......
//查詢ID並填充到其它控件
	function SearchItem(){
		var itemId = $("#orderObjid").val();
		if(itemId != ""){
                //Ajax請求,根據ID獲取對應數據。
			$.ajax({
			       type : "get",
			       url : "/item/check?itemId="+itemId,
			       cache : false,
			       contentType : false,
			       processData : false,
			       dataType : "json",
			       success: function(data) {
			    	$('#orderObjname').textbox('setValue',"");
			    	$('#orderobjbarcode').textbox('setValue',"");
			    	$('#orderforWH').combobox('setValue',"");
			    	$('#orderObjname').textbox('setValue',data.title);
			    	$('#orderobjbarcode').textbox('setValue',data.barcode);
			    	$('#orderforWH').combobox('setValue',data.warehouseid);
			       },	
			       error:function(){
			    	  $.messager.alert("提示","庫中無ID爲"+itemId+"的貨物!");
			       }
			   });
		}else 
			$.messager.alert("提示","需要填寫貨物ID才能驗證,請填寫貨物ID!");
		;
	}
......

</script>

2、Controller

ItemController程序具備以下作用:

A、接收前端的URL請求的映射路徑;

B、通過方法接收請求中傳遞過來的參數;

C、調用Service對應的實現方法;

D、返回結果。

部分具體代碼如下:

//商品管理
@Controller
public class ItemController {
......

	@Autowired
	private ItemService itemService;
	//編輯按鈕,根據選中ID查詢item
	@RequestMapping("/item/check")
	@ResponseBody
	public TbItem getItemById(@RequestParam String itemId){
		long id = Long.parseLong(itemId);
		TbItem result = itemService.getItemById(id);
		return result;
	}
......
}

3、Service

4、Service實現方法

A、通過Criteria進行條件查詢;

B、調用itemMapper的方法進行查詢。

部分詳細代碼如下:

//商品管理service
@Service
public class ItemServiceImpl implements ItemService {

	@Autowired
	private TbItemMapper itemMapper;
......
	//編輯按鈕click事件,根據選中ID查詢item
	@Override
	public TbItem getItemById(Long itemId) {
		//TbItem item = itemMapper.selectByPrimaryKey(id);
		TbItemExample example = new TbItemExample();
		Criteria criteria = example.createCriteria();
		criteria.andIdEqualTo(itemId);
		List<TbItem> list = itemMapper.selectByExample(example);
		if (list != null && list.size() > 0) {
			TbItem item = list.get(0);
			return item;
		}
		return null;
	}
......
}

5、Mapper及其方法

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章