我有一個文本文件中的條目,我想將其加載到下拉框中。如何在頁面加載時觸發servlet方法
我想在加載jsp頁面時發生這種情況。如果我有一個觸發將請求對象傳遞給servlet的按鈕,我可以輕鬆地做到這一點。如何在頁面加載時發送請求對象 - 我是否需要使用Javascript或者這是我可以用jps做的事情。
我有一個文本文件中的條目,我想將其加載到下拉框中。如何在頁面加載時觸發servlet方法
我想在加載jsp頁面時發生這種情況。如果我有一個觸發將請求對象傳遞給servlet的按鈕,我可以輕鬆地做到這一點。如何在頁面加載時發送請求對象 - 我是否需要使用Javascript或者這是我可以用jps做的事情。
你可以在哪裏填充它在服務器端。我的意思是,當你在JSP上創建選擇框時,填充它。例如:
<select id="sel1" name="animal">
<c:forEach var="animal" items="${model.animals}">
<option value="<c:out value="${animal.id}"/><c:out value="${animal.name}"/></option>
</c:forEach>
</select>
如果這是不可能的,實際的或想要的,您需要使用某種形式的AJAX方法。我個人使用這個jQuery。例如:
<select id="sel1" name="animal">
</select>
<script type="text/javascript">
$(function() {
$.get('/server/getanimals', function(data, textStatus) {
var sel = $("#sel1");
for (var i=0; i<data.length; i++) {
sel.append('<option value="' + data[i].id + '">' + data[i].name + '</option>');
}
}, 'json');
});
</script>
以上呼叫/server/getanimals
已準備就緒。它期望返回一個帶有動物列表的JSON對象,然後用它來填充選擇框。
有很多方法來剝皮這隻特定的貓。
您可以使用Servlet的doGet()
方法預處理GET請求上的數據。 doPost()
將用於後處理POST請求上的數據(當您提交表單時)。
例子:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<Option> options = optionDAO.list();
request.setAttribute("options", options);
request.getRequestDispatcher("page.jsp").forward(request, response);
}
凡Option
類是包含屬性value
和label
只是你自己的JavaBean類。如果您願意,您也可以使用List<Map<String, String>>
。
<select name="foo">
<c:forEach items="${options}" var="option">
<option value="${option.value}">${option.label}</option>
</c:forEach>
</select>
servlet的最後映射web.xml
,因此它匹配調用請求其url-pattern
,例如http://example.com/contextroot/page。
謝謝,你有沒有什麼好的jQuery引用,我會做一些谷歌搜索,但如果你可以幫助,將不勝感激。 – Ankur 2009-11-15 05:09:49
您使用的是什麼Java Web框架? – cletus 2009-11-15 05:20:25
不使用任何框架,因爲我不知道如何 - 我正在學習Spring - 但同時我只是使用從servlet調用的jsp頁面。當我卡住時,我寫入會話對象。 – Ankur 2009-11-15 05:42:23