java使用ifelse语句修改jstl中的代码

zc0qhyus  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(396)
  1. <%
  2. try
  3. {
  4. Class.forName("com.mysql.jdbc.Driver").newInstance();;
  5. Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/newschema", "root", "root");
  6. Statement st = con.createStatement();
  7. String userid=request.getParameter("userid");
  8. String name=request.getParameter("name");
  9. String shift=request.getParameter("shift");
  10. String role=request.getParameter("role");
  11. String strQuery = "SELECT COUNT(*) FROM employee WHERE emp_id='"+userid+"'";
  12. ResultSet rs = st.executeQuery(strQuery);
  13. rs.next();
  14. String Countrow = rs.getString(1);
  15. out.println(Countrow);
  16. if(Countrow.equals("0"))
  17. {
  18. int i=st.executeUpdate("INSERT INTO employee(emp_id,name,shift)VALUES('"+userid+"','"+name+"','"+shift+"')");
  19. out.println("Data is successfully inserted!");
  20. }
  21. else
  22. {
  23. out.println("Employee data already exists !");
  24. }
  25. }
  26. catch(Exception e)
  27. {
  28. System.out.print(e);
  29. e.printStackTrace();
  30. }
  31. %>

我试图将此代码更改为jstl,并尝试使用语法创建if else语句。但是我不知道如何在if语句下执行sql语句。没有下面的if语句。

  1. <body>
  2. <c:if test="${ empty param.userid or empty param.name or empty param.shift}">
  3. <c:redirect url="insert.jsp" >
  4. <c:param name="errMsg" value="Please Enter the Details" />
  5. </c:redirect>
  6. </c:if>
  7. <sql:setDataSource var="dbsource" driver="com.mysql.jdbc.Driver"
  8. url="jdbc:mysql://localhost/newschema"
  9. user="root" password="root"/>
  10. //<c:if ....>--?
  11. <sql:update dataSource="${dbsource}" var="result">
  12. INSERT INTO employee(emp_id, name, shift) VALUES (?,?,?);
  13. <sql:param value="${param.userid}" />
  14. <sql:param value="${param.name}" />
  15. <sql:param value="${param.shift}" />
  16. </sql:update>
  17. <c:when test="${result>=1}">
  18. <font size="5" color='green'> Data inserted successfully.</font>
  19. <c:redirect url="insert.jsp" >
  20. <c:param name="susMsg" value="Data inserted successfully." />
  21. </c:redirect>
  22. //<c:otherwise ....>---?
  23. </body>

我几乎做到了如上所示。但我有点困在代码检查重复条目从数据库。感谢您的帮助。提前谢谢

snvhrwxg

snvhrwxg1#

请看本页底部的示例。我没有地方测试这个,但我相信它至少能让你靠近。

  1. <sql:query dataSource="${dbsource}" var="result">
  2. SELECT COUNT(*) as row_count FROM employee WHERE emp_id = ?;
  3. <sql:param value="${param.userid}" />
  4. </sql:query>
  5. <c:choose>
  6. <c:when test="${result.rows[0].row_count == 0}">
  7. <sql:update>...</sql:update>
  8. </c:when>
  9. <c:otherwise>
  10. Employee data already exists!
  11. </c:otherwise>
  12. </c:choose>

相关问题