我目前正在研究spring框架。我在頁面abc.jsp上有一個按鈕,它向我的控制器發送一個GET請求。控制器在DAO中調用一個方法,並返回一個包含數據的列表並將其轉發給def.jsp。當我們單擊按鈕時,是否有方法直接在abc.jsp上顯示數據表。在我的研究中,我發現AJAX是一種方法。我之前沒有使用AJAX,我不知道如何使用它,因爲我需要獲取一個列表。任何幫助,將不勝感激。我已在下面附加了我的代碼所需的片段。在此先感謝,查詢數據庫並在同一頁面顯示結果
abc.jsp
<form action="abcd" method="get">
<button type="submit" onclick="startSpin()">Items in ABCD</button>
</form>
控制器代碼
@Controller
@RequestMapping("application")
public class ApplicationController {
@Autowired
AppDAO AppDAO;
private static final Logger LOGGER = LoggerFactory.getLogger(MasterDataObjectEntityController.class);
@RequestMapping (value="/abcd",method=RequestMethod.GET)
public String getItemsInABCD(ModelMap map, HttpServletRequest req){
LOGGER.info("ApplicationController :: ");
try {
map.addAttribute("ItemsInABCDList", AppDAO.getItemsInABCDList());
} catch (SQLException e) {
LOGGER.error("ApplicationController :: getItemsInABCDList:: SQLException ::"+e.getMessage());
}
return "def"; <-- goes to def.jsp
}
}
def.jsp
<table class="table table-bordered table-striped table-hover"
id="mytable" style="width: 95%;">
<thead>
<tr style="font-weight: bold;">
<td>col 1</td>
<td>col 2</td>
</tr>
</thead>
<tbody>
<c:forEach var="myvar" items="${ItemsInABCDList}">
<tr>
<td>${myvar.itemNumber}</td>
<td>${myvar.itemName}</td>
</tr>
</c:forEach>
</tbody>
</table>
<script type="text/javascript">
var mytable= null;
$(document).ready(function() {
mytable= $('#mytable').dataTable(
{
//columnDefs: [ { orderable: false, targets: [0] }]
columnDefs: [{
targets: "datatable-nosort",
orderable: false
}]
});
$('[data-toggle="tooltip"]').tooltip();
});
</script>
您的** getItemsInABCD **返回的字符串不是任何列表? – Pallavi
@Pallavi它返回的字符串是響應頁面的名稱。它使用return語句重定向到def.jsp。它使用map.addAttribute作爲對def.jsp的響應發送列表,其中getItemsInABCDList()返回一個List對象。 – Pranav247