2013-12-16 3 views
1

Jsp с двумя кнопкамиКак узнать, какая кнопка нажата на Jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
    <body style="background-color:black;"> 


<p> 
<p><input type="button" name="good" value="Pen" onclick="location.href='hello';"> </p> 
<p><input type="button" name="good" value="Paper" onclick="location.href='hello';"> 
</p> 

</body> 
</html> 

Это сервлет

package pack.exp; 
import java.io.IOException; 
import javax.servlet.http.*; 

import com.google.appengine.api.datastore.DatastoreService; 
import com.google.appengine.api.datastore.DatastoreServiceFactory; 
import com.google.appengine.api.datastore.Entity; 
import com.google.appengine.api.datastore.EntityNotFoundException; 
import com.google.appengine.api.datastore.Key; 
import com.google.appengine.api.datastore.KeyFactory; 


@SuppressWarnings("serial") 
public class HelloServlet extends HttpServlet 
{ 

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws 
    IOException 
{ 
    String val=req.getParameter("good"); 
    if("Pen".equals(val)) 
    { 
     resp.setContentType("text/plain"); 
     resp.getWriter().println("Pen was clicked"); 
    } 
    else if("Paper".equals(val)) 
    { 
     resp.setContentType("text/plain"); 
     resp.getWriter().println("Paper was clicked"); 
    } 

} 
} 

Мой код не дает правильный вывод по нажатию кнопки. Я хочу, когда я нажму Pen, тогда он должен ввести if() и распечатать текст, и я хочу, чтобы он был для кнопки бумаги.

ответ

0

Добавить два скрытых поле.

<form id="my form" > 
<input type="hidden" name="myPen" /> 
<input type="hidden" name="myPaper" /> 
<input type="button" name="good" value="pen" on click="{document.myform.mypen.value=this.value;location.href='hello';}" 
<input type="button" name="good" value="paper" on click=" {document. myform. mypaper.value=this.value;location. href='hello';}" /> 
</form> 

В Servlet

String val=req.getParameter('mypen'); 
    String val1=req.getParameter("mypaper"); 

В момент времени существует только одно значение другое null. Вы можете сделать это с помощью null check.

1

Используйте jquery, чтобы выполнить свою задачу.

Измените код html на эти строки кода.

<form method="post" action="#" name="Form" id="Form" > 
<input type="button" value="one" id="One"/> 
<input type="button" value="two" id="Two"/> 
</form> 

и добавить эти строки в вашем скрипте

$('input:button').click(function() { 
alert($(this).val()); 
var value=$(this).val(); 
var url='hello?good='; 
url+=value; 
$("#Form").attr("action",url); 
$("#Form").submit(); 
}); 

Вы можете использовать JQuery 1.7.1 и выше. Надеюсь, это вам поможет. Happy Coding :)

+0

Эй я не имею никакого знания JQuery. Могу ли вы, пожалуйста, объяснять только в html. – Sandeep

+0

Если вы хотите использовать только html, вам нужно использовать переключатели. Я не уверен, есть ли другой способ. jquery прост в использовании. Вы jus скопируете мой код jquery в тег скрипта html. для справки вы можете ссылаться на образец примера jquery. [jquery example Click Me] (http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_hide) перейдите по этой ссылке. – Bharathi

0

Кодировать значение кнопки на имя кнопки.

В HTML:

<p><input type="button" name="good:Pen" onclick="location.href='hello';"> </p> 
<p><input type="button" name="good:Paper" onclick="location.href='hello';"> 

В сервлета: перебрать все параметры, ищите параметр, startsWith("good") и если да, то СУБТРЭК префикс good:. Если на вашей странице нет других кнопок отправки, вы можете просто назовите свои кнопки только Pen и Paper и проверьте наличие этих параметров. Для этой задачи нет javascript.

0

написать этот код в JSP, это будет полезно для вас

<html> 
<body style="background-color:black;"> 

<p><form method="post" action="hello"> 
<p><input type="submit" name="good" value="Pen" > </p> 
<p><input type="submit" name="good" value="Paper" > 
</p></form> 

</body> 
</html> 
Смежные вопросы