動態網頁使用者相關資料的發送多是透過表單,這邊示範幾個表單資訊取得的例子,首先假設我們有下面這個JSP表單網頁:
<html> 使用以下的程式可以取得一些表單的訊息: WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse( "http://localhost:8080/model2Demo/form.htm"); WebForm form = response.getFormWithName("userForm"); System.out.println(form.getAction()); System.out.println(form.getMethod()); 顯示的結果如下: /model2Demo/login.action
post 您可以使用WebForm的getParameterValue()方法來取得表單中的參數值,例如: String username = form.getParameterValue("username");
String password = form.getParameterValue("password"); 您也可以取得SubmitButton按鈕物件,例如: SubmitButton submitBtn =
form.getSubmitButton("submitBtn"); 配合WebForm的setParameter()方法,您可以進行表單資料的發送,例如: WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse( "http://localhost:8080/model2Demo/form.htm"); WebForm form = response.getFormWithName("userForm"); form.setParameter("username", "justin"); form.setParameter("password", "123456"); SubmitButton submitBtn = form.getSubmitButton("submitBtn"); response = form.submit(submitBtn); 上面的方式適合表單上有多個按鈕時,就我們的表單而言,只有一個按鈕,所以也可以直接透過WebForm的submit()方法來送出資料: WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse( "http://localhost:8080/model2Demo/form.htm"); WebForm form = response.getFormWithName("userForm"); form.setParameter("username", "justin"); form.setParameter("password", "123456"); response = form.submit(); 也可以直接使用下面的程式送出表單資料: WebConversation webConversation = new WebConversation();
WebResponse response = webConversation.getResponse( "http://localhost:8080/model2Demo/form.htm"); WebForm form = response.getFormWithName("userForm"); form.setParameter("username", "justin"); form.setParameter("password", "123456"); WebRequest request = form.getRequest("submitBtn"); response = webConversation.getResponse(request); 總之,組合的方式有許多種,端看您要進行的測試而決定使用何種方式。 |