我写了一个简单的JSP页面,如下所示:
在数据库的表中检索用户名,并按屏幕快照所示显示。同样,用户类型记录也从同一表中检索。现在,我在[HttpPut("{id}")]
public IActionResult PutTest(string id, FileViewModel vm)
{
//Do stuff
return StatusCode(200);
}
下添加了一个可选功能,用户可以决定输入新的用户名。
如果输入了新的用户名,则表中的用户名列应反映新的更改。同样,用户可以通过单选按钮更改用户类型。单击New username
按钮后,它应将用户名(如果不为空)更新,并将用户类型更新为相应的列。假设表中的两列分别是表中的update user
和Username
。
现在,我能够在显示的每一行中唯一地标识每个rowID。
下面是示例代码(在JSP中):
User Type
我在同一页面上创建了一个JavaScript函数:
<%
try {
Class.forName("com.mysql.jdbc.Driver");
String connectionURL = "jdbc:mysql://localhost:3306/gmc";
String username = "root";
String password = "root";
Connection conn = null;
conn = DriverManager.getConnection(connectionURL, "root", "root");
String query = "select ausername, ausertype from auser where AUSTATE='Y'";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
String str = "<table border=2><tr><th>Username</th><th>New Username</th><th>User Type</th><th>Update</th></tr>";
int rowid = 0;
while (rs.next()) {
rowid ++;
String autype = rs.getString("ausertype");
str += "<tr><td>" + rs.getString("ausername") + "</td> <td><input type=\"text\" name=\"NewUserName\" " +
"value=\"\"></td> <td>";
if (autype.equalsIgnoreCase("Superuser")) {
str += "<input type=\"radio\" name=\"usertype"+rowid+"\" value=\"Superuser\" checked> Superuser ";
}else{
str += "<input type=\"radio\" name=\"usertype"+rowid+"\" value=\"Superuser\" > Superuser ";
}
if(autype.equalsIgnoreCase("Basic")) {
str += " <input type=\"radio\" name=\"usertype"+rowid+"\" value=\"Basic\" checked > Basic ";
}else {
str += " <input type=\"radio\" name=\"usertype"+rowid+"\" value=\"Basic\" > Basic ";
}
if(autype.equalsIgnoreCase("View")){
str += " <input type=\"radio\" name=\"usertype"+rowid+"\" value=\"View\" checked> View ";
}else {
str += " <input type=\"radio\" name=\"usertype"+rowid+"\" value=\"View\" > View ";
}
str += "</td><td><button type=\"button\" onclick=\"+update("+rowid+")\">Update User</button></td> </tr>";
}
out.println(str);
rs.close();
stmt.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
}
%>
我的麻烦是,因为我能够检索每个用户的rowID(USER1 = usertype1,abbygale = usertype2等),所以我的最后一步是捕获所做的更改并更新表。我相信您无法使用JavaScript进行SQL更新,而必须使用一些AJAX调用。我是AJAX的新手。
是否可以让我的职能部门实现这一目标?