我有main.jsp,其中包括4个jsp页面,即company.jsp,software.jsp,location.jsp,dept.jsp
,最后将是Submit按钮,将被重定向到另一个jsp页面
注意:在company.jsp和Software.jsp中,只有一个单选按钮被点击
在location.jsp中,dept.jsp有复选框,有多个复选框选项,
我想要优化我的搜索,如下所示:

我希望当在company.jsp中选择一个单选按钮时,将根据公司选择的软件从数据库中显示.当选择软件时,带有复选框的位置将根据数据库显示.然后,如果选择了位置,则将根据数据库显示depts等.
我已经尝试使用jquery,其中选定的单选按钮添加到url作为参数但这是不好的做法,因为我正在更改url通过window.location.href.这是不好的做法
使用servlet或jquery的任何其他想法?
编辑:
main.jsp中
<div style="background-color:#F4F4F4"><b>Company:</b></div>
<div id="company"> <jsp:include page="company.jsp"></jsp:include> </div>
<div style="background-color:#F4F4F4"><b>Software:</b></div>
<div id="software">
<jsp:include page="software.jsp"></jsp:include> </div>
<div style="background-color:#F4F4F4"><b>Location:</b></div>
<div id="location">
<jsp:include page="my_location.jsp"></jsp:include> </div>
Run Code Online (Sandbox Code Playgroud)
company.jsp
<script src="jquery-1.9.1.min.js"></script>
<script src="jquery-1.9.1.js"></script>
<script type="text/javascript">
function call(a)
{
window.location.href="main.jsp?company="+a ;
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
Connection conn = null;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","","");
ResultSet rs = null;
Statement st=null;
st=con.createStatement();
%>
<form name=company_form id=company_form>
<% …Run Code Online (Sandbox Code Playgroud) 我有一个网站(基于JSP/Servlets,使用MVC模式),我想支持基于AJAX的网站和基于HTML的基本网站.网站访问者应该能够将冲浪模式从Ajax更改为基本HTML,反之亦然,因为它适用于Google邮件.
问题:
我使用JQuery和JSON作为这个答案的结果.
我正在使用javascript和JSP开发一个地图创建Web应用程序.在某些时候,我希望我的用户能够将他们创建的地图保存到我的数据库中,但是我必须检查地图的名称是否已经存在.我需要这样做而不离开页面本身,否则我将失去存储在该JSP中的地图.
所以问题是:如何在不更改页面/网址的情况下从我的服务器获得响应?
我有一个软件设计问题,关于处理客户端javascript程序的最佳方法是什么,它依赖于多个(但大部分是连续的,不是同时的),短暂的AJAX调用服务器作为对用户交互的响应[在我的特定情况下,它将是一个facebook-GAE/J应用程序,但我相信这个问题与任何客户端(浏览器)/服务器设计有关].
首先,我问了一个问题:ajax通话的寿命是多少?.根据BalusC的回答(我鼓励它在那里阅读),简短的回答是"这取决于浏览器".所以,现在我还没有真正控制服务器发送响应后发生的事情.
如果AJAX调用的主要用途是从服务器只检索一次数据,是否可以手动销毁它?xhr1.abort()会这样做吗?
或者,最好的选择就是这样吗?手动关闭每个连接(如果可能的话)会给每次调用增加太多开销吗?
是否可以手动设置每个域的限制?
最后(但并非最不重要!),我真的应该为此担心吗?什么是大量的调用足以开始推迟浏览器(特别是一些IE浏览器与BalusC在另一个问题中提到的泄漏错误?请记住,这是我的第一个javascript/java servlets项目.
先感谢您
我正在开发一个基于JSP的web应用程序.我有一个servlet类:
package managesystem;
import java.util.List;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
public class getUsernamesServlet extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest req, HttpServletResponse resp){
List<String> usernamesList = StudentManager.findAllUsernames();
req.setAttribute("usernames", new Gson().toJson(usernamesList));
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题如下:如果用户名仍然可用(如果列表中没有),我如何检查Ajax?如何使用Ajax获取servlet写入请求的JSON信息,例如register.jsp?
亲切的问候,
H4
我正在尝试将Mootools(Request.JSON)与JSF一起使用 - 主要是因为我前段时间在CakePHP中编写了一个类似的应用程序,并希望重用大部分JS部分.
有没有办法使用像无标记facelet这样的请求返回纯文本("application/json")?
我想出的唯一解决方案是使用HttpServlet并将其注册到web.xml中的服务URL.这种方法可以正常返回一个没有任何标记的文件,但我更倾向于使用我注入Spring的ManagedProperties,而不是仅限于WebApplicationContextUtils.
我错过了什么或是推荐的方式吗?
我想将页面上的一些数据发送到servlet
所以我写了下面的jquery来做这件事
我使用所有数据来构建一个json字符串,并直接将其发送到servlet
但我不知道如何从servlet中的ajax获取整个数据
$("#save").click
(
function()
{
$.ajax
(
{
url:'/WebApplication1/Controller',
data:'{"name":"abc","address":"cde"}',
type:'post',
cache:false,
success:function(data){alert(data);},
error:function(){alert('error');}
}
);
}
);
Run Code Online (Sandbox Code Playgroud)
如果从chrome看到请求标头的Form Data段
你会看到整个json字符串是关键.
Request URL:http://192.168.0.13/WebApplication1/Controller
Request Method:POST
Status Code:404 Not Found
Request Headersview source
Accept:*/*
Accept-Charset:Big5,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4
Connection:keep-alive
Content-Length:112
Content-Type:application/x-www-form-urlencoded
Host:192.168.0.13
Origin:http://192.168.0.13
Referer:http://192.168.0.13/system_admin/building.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.910.0 Safari/535.7
X-Requested-With:XMLHttpRequest
Form Dataview URL encoded
{"name":"abc","address":"cde"}:
Response Headersview source
Accept-Ranges:bytes
Connection:Keep-Alive
Content-Language:en
Content-Type:text/html; charset=iso-8859-1
Date:Wed, 15 Feb 2012 12:37:24 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.14 (Win32) …Run Code Online (Sandbox Code Playgroud) 我在网上搜索这个主题,但我无法得到一个有效的例子.我会被一个人给我一个帮助.
这是我测试的.
$.ajax({
url: 'GetJson',
type: 'POST',
dataType: 'json',
contentType: 'application/json',
data: {id: 'idTest'},
success: function(data) {
console.log(data);
}
});
Run Code Online (Sandbox Code Playgroud)
在塞维莱特
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String id = request.getParameter("id");
String id2[] = request.getParameterValues("id");
String id3 = request.getHeader("id");
}
Run Code Online (Sandbox Code Playgroud)
我的一切都变得空洞了.
我正在开发一个只有一个页面(index.jsp)的项目,并且正在发送Ajax请求的页面的初始加载以及检索JSON数据.发送到我的Servlet和Servlet的AJAX调用返回JSON数据,我只有一个Servlet.我正在尝试将一些数据发送到我的JSP页面来填充,所以这就是我编写Servlet的方式......
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out =response.getWriter();
String queryString = request.getQueryString();
ResourceBundle props = ResourceBundle.getBundle("jira");
XmlMerge xmlMerge = new XmlMerge();
String mergeFiles=xmlMerge.getJsonData();
out.println(mergeFiles);
out.close();
//Debug Statement
System.out.println(xmlMerge.getTodo());
// *THIS IS THE WAY I AM SEND DATA TO JSP PAGE.*
request.setAttribute("todo", xmlMerge.getTodo());
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
Run Code Online (Sandbox Code Playgroud)
在我的index.jsp中
<%=(String)request.getAttribute("todo")%>
Run Code Online (Sandbox Code Playgroud)
我想输出结果.
出了什么问题?
我正在学习Java servlet,我为"GET"和"POST"编写了两个单独的servlet.当向服务器发送"GET"请求时,servlet访问数据库并检索所有内容并将结果转换为Google Charts可识别的格式.当向服务器发送"POST"请求时,servlet获取参数并将它们添加到Java对象,然后DAO将数据添加到数据库.但是,当我在输入后点击"添加"按钮时,Web应用程序根本找不到servlet.它只是"跳过"ajax函数并继续.所以这是插入的servlet:
@WebServlet("/InsertServlet")
public class InsertServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
private EmployeeDao dao;
public InsertServlet() throws SQLException
{
super();
dao = new EmployeeDao();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
System.out.println("doPost");
Employee e = new Employee();
e.setName(request.getParameter("name"));
e.setSSN(request.getParameter("ssn"));
e.setDob(request.getParameter("birth"));
e.setIncome(request.getParameter("xxxx"));
dao.addEmployee(e);
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println("<h2>Data Entry Added</h2><br>");
out.println("<h2>"+request.getParameter("name")+"</h2>");
out.println("<h2>"+request.getParameter("ssn")+"</h2>");
out.println("<h2>"+request.getParameter("birth")+"</h2>");
out.println("<h2>"+request.getParameter("xxxx")+"</h2>");
out.flush();
out.close();
}
}
Run Code Online (Sandbox Code Playgroud)
这是index.html:
<form id="inputForm">
<table style="width:80%;border:3px;">
<tr>
<td align="center"><input type="text" name="name" id="name" placeholder="First …Run Code Online (Sandbox Code Playgroud) 我在java中编写了一个服务器程序,但是为了给web提供一个接口,我想在点击某个菜单按钮时在jsp中访问java方法.我怎样才能做到这一点?
这是我在客户端的代码:
$.ajax({
type:'POST',
charset:'utf-8',
url:'http://localhost:8180/GisProject/MainService',
data:JSON.stringify(params),
success:function(msg)
{
console.log(msg);
},
error:function(xhr,status)
{
console.log(status);
},
contentType:"application/json"
});
Run Code Online (Sandbox Code Playgroud)
我之前已经在 Node 中使用 解析过这些数据express.bodyParser,但现在我必须使用 来解析它servlet。我看到人们在这里分配变量而不使用JSON.stringify并使用 获取该变量request.getParameter(myData)。
JSON将数据输入的标准方法是什么servlet?
为什么人们似乎在发送时Javascript objects将 JSON 作为字符串嵌入在 like 中data:{mydata:JSON.stringify(actualData)}?
如果我不清楚,我想使用该doPost方法的request对象来获取我从客户端发送的数据。