[英]How do I get the Url hits back in servlet from jsp? I want to count the number of times the url is clicked
我有一個favoritelist.jsp來顯示喜歡的URL,注釋和clickcount的列表。
//favoritelist.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="org.rss.beans.UserBean"%>
<%@page import="org.rss.beans.FavoriteBean"%>
<%@page import="java.util.ArrayList;"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<jsp:useBean id="formHandler1" class="org.rss.beans.FavoriteBean"
scope="request" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Welcome</title>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<style>
table+table {
margin-top: 20px
}
</style>
</head>
<body>
<form action="processfavoritelist.jsp" method="post">
<%
UserBean currentUser = (UserBean)session.getAttribute("currentSessionUser");
%>
<%
ArrayList<?> favoriteList =(ArrayList<?>) session.getAttribute("listFav");
%>
<center>
<a>
Favorites for
<%=currentUser.getFirstName() + " " + currentUser.getLastName()%>
</a>
<br>
<font size=2><sup>*</sup> Required Fields</font>
<table cellpadding=4 cellspacing=2 border=1>
<tr>
<td align="left">URL<sup>*</sup></td>
<td align="left"><input type="text" name="url"
value='<%=formHandler1.getUrl()%>' /> <br>
<font size=2 color=red><%=formHandler1.getErrorMsg("url")%></font>
</td>
</tr>
<tr>
<td align="left">Comment<sup>*</sup></td>
<td align="left"><input type="text" name="comment"
value='<%=formHandler1.getComment()%>' /> <br>
<font size=2 color=red><%=formHandler1.getErrorMsg("comment")%></font>
</td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit"
value="Add Favorite" name="addFavorite" /></td>
</tr>
</table>
<table cellpadding=4 cellspacing=2 border=3>
<tbody>
<tr>
<th>URL</th>
<th>Comments</th>
<th>Clicks</th>
</tr>
<c:forEach items="${listFav}" var="fav">
<tr>
<td><a href="<c:url value=''>
<c:param name="hits" value="${fav.clickCount}"/>
<c:param name="url" value="${fav.url}"/>
<c:param name="comment" value="${fav.comment}"/>
</c:url>">${fav.url} </a>
</td>
<td><c:out value="${fav.comment}"></c:out></td>
<td><c:out value="${fav.clickCount}"></c:out></td>
</tr>
</c:forEach>
</tbody>
</table>
</center>
</form>
</body>
</html>
該控件將轉到processfavoritelist.jsp
,在此我檢查在文本字段中輸入的URL和注釋中是否有錯誤。 如果有效,則控件應轉到Login Servlet
。
//processfavoritelist.jsp
<%@ page import="java.util.*" %>
<%@ page import="java.lang.*" %>
<jsp:useBean id="formHandler1" class="org.rss.beans.FavoriteBean" scope="request">
<jsp:setProperty name="formHandler1" property="*"/>
</jsp:useBean>
<%System.out.println("----------------------Inside processfavoritelist.jsp");%>
<%
if (formHandler1.validate("favoritelist")) {
%>
<jsp:forward page="login"/>
<%
} else {
%>
<jsp:forward page="favoritelist.jsp"/>
<%
}
%>
當我在文本字段中輸入URL和Comment時,控件將返回到servlet,在數據庫中插入rec並顯示在favoritelist.jsp上。 但是,當我單擊第二個表中顯示的任何URL時,URL都會更改。 //例如。 對myApp / favoritelist.jsp?hitid = 21&URL =&ASAS評論= sasasa
此后沒有任何回應。 它甚至沒有輸入我有sysout語句要檢查的Login servlet。 謝謝
<td><a href="<c:url value=''>
單擊時,您不提供與SERVLET或JSP的任何鏈接。 它是一個無效的鏈接,所以沒有邏輯運行,當您單擊該鏈接時,它停留在同一頁面上。
提供對jsp或servlet的鏈接,無論您的代碼如何處理,它都將起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.