Я новичок в ajax и хочу получить данные из класса action в jsp.Как получить данные из класса action в jsp с помощью ajax в struts2?
Файл: getRole.jsp
<head>
<script type="text/javascript">
var request;
function loaddata()
{
var id = document.getElementById("newRole").value;
alert("hi : "+ id);
var xhttp;
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("display_info").innerHTML = this.responseText;
}
};
xhttp.open("GET", "loadData?id="+id, true);
xhttp.send();
}
</script>
</head>
<body>
<div class="container-fluid">
<div class="col-sm-2"></div>
<div class="col-sm-8">
<label for="focusedInput" id="abc"><h4>Enter Id : </h4></label>
<input type="text" class="form-control" name="newRole" id="newRole" onkeyup="loaddata();">
<div id="display_info" ></div>
</div>
<div class="col-sm-2"></div>
</div>
</body>
Файл: loadData.java
public class loadData extends ActionSupport implements ServletRequestAware, ServletResponseAware{
private static final long serialVersionUID = 1L;
String url = "jdbc:mysql://localhost:3306/struts";
String user = "username";
String pass = "password";
HttpServletRequest request;
HttpServletResponse response;
@Override
public void setServletRequest(HttpServletRequest request) {
// TODO Auto-generated method stub
this.request = request;
}
public HttpServletRequest getServletRequest() {
return request;
}
@Override
public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response = response;
}
public HttpServletResponse getServletResponse()
{
return response;
}
public String execute()
{
try{
String id = request.getParameter("id");
String name = "null.";
System.out.println("in servlet : " + id);
Class.forName("com.mysql.jdbc.Driver");
java.sql.Connection con =DriverManager.getConnection(url, user, pass);
String s = "select * from tempemp where id="+id;
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(s);
while(rs.next())
{
name = rs.getString("role");
System.out.println(name);
}
PrintWriter out = response.getWriter();
out.println("Name: "+name);
con.close();
}
catch(Exception e){
e.printStackTrace();
}
return SUCCESS;
}
}
Я хочу, чтобы получить Id от пользователя, а затем распечатать роль на основе этого Id. Я только хочу использовать ajax не json. Поэтому, пожалуйста, ответьте мне только на ajax-код.
Я также пробую этот код. response.setContentType ("text/plain"); response.setCharacterEncoding ("UTF-8"); response.getWriter(). Write (name); –
@ParthPatel Это будет работать точно. – udaybhaskar
Thanx @udaybhaskar. Я меняю «успех» на «null», и он работает. Можете ли вы объяснить мне, почему «null» в типе результата? –