提示删除:<script language = "javascript">
function Delete(){
alert("are you sure to detele this item?");
productsRecord.location.href="admin/productsDelete.jsp?id="+id;
}
</script>
在displaytag 中 <display:column title="删除 "href="admin/productsDelete.jsp" autolink="true" paramId="id" paramProperty="id" onclick="Delete()">删除</display:column>
会提示:
error:
org.apache.jasper.JasperException: /admin/productsMan.jsp(89,5) Attribute onclick invalid for tag column according to TLD
好像displaytag不支持这个写法,如何办?
在content中,我想显示50个字母,而不要全部。<display:column property="content" title="内容" ><%= news.getContent().substring(0,50)%></display:column>
这个写法也不行,如何处理?
function Delete(){
alert("are you sure to detele this item?");
productsRecord.location.href="admin/productsDelete.jsp?id="+id;
}
</script>
在displaytag 中 <display:column title="删除 "href="admin/productsDelete.jsp" autolink="true" paramId="id" paramProperty="id" onclick="Delete()">删除</display:column>
会提示:
error:
org.apache.jasper.JasperException: /admin/productsMan.jsp(89,5) Attribute onclick invalid for tag column according to TLD
好像displaytag不支持这个写法,如何办?
在content中,我想显示50个字母,而不要全部。<display:column property="content" title="内容" ><%= news.getContent().substring(0,50)%></display:column>
这个写法也不行,如何处理?
第一个问题:<display:column title="删除" media="html" >
<input type="button" onclick="Delete()" value="删除"/>
</display:column>
第二个问题:<display:column title="内容" media="html" >
<%= news.getContent().substring(0,50)%>
</display:column>
if (confirm('are you sure to detele this item?')){
productsRecord.location.href="admin/productsDelete.jsp?id="+id;
}
}
请问我删除时候如何传递有效id,使之能够 对应删除。
<script language = "javascript">
function Delete(id){
if(confirm("are you sure to detele this item?")){
window.location.href="admin/productsDelete.jsp?id="+id;
}
}
</script>
<display:column title="删除" paramId="id" paramProperty="id" media="html" ><input type="button" onclick="Delete()" value="删除"/></display:column></display:table>
同样报错
使用:<display:column title="内容" media="html" >
<%= news.getContent().substring(0,50)%>
</display:column>
出现:
java.lang.NullPointerException
if (confirm('are you sure to detele this item?')){
productsRecord.location.href="admin/productsDelete.jsp?id="+id;
}
}
当我使用上面代码,出现提示删除对话框后,页面根本没有反应,看来还是传递参数问题。
<display:column property="content" title="备注" maxLength="5"></display:column> <display:column title="删除" href="admin/productsDelete.jsp" paramId="id" paramProperty="ID">删除
</display:column>
忘了你是要先确认再删除! <script language = "javascript">
function Delete(id){
if(confirm("确定删除此项吗?")){
window.location.href="admin/productsDelete.jsp?id="+id;
}
}
</script> <disp:column title="删除2">
<input type="button" onclick="Delete(<%=pageContext.getAttribute("ID")%>)" value="删除"/>
</disp:column>
<input type="button" onclick="Delete(<%=pageContext.getAttribute("ID")%>)" value="删除"/> 是错的要用jstl取值<%@ taglib uri="/WEB-INF/displaytag.tld" prefix="disp" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<logic:equal name="action" value="list" scope="request" >
DisplayTag Demo:<br>
<disp:table name="resultList" export="true" pagesize="15" requestURI="/test.do" id="resultList">
<disp:column property="ID" title="ID" sortable="true" headerClass="sortable" ></disp:column>
<disp:column property="userName" title="用户名" sortable="true" headerClass="sortable" ></disp:column>
<disp:column property="passWord" title="密码"></disp:column>
<disp:column property="content" title="备注" maxLength="5"></disp:column> <disp:column title="删除" href="admin/productsDelete.jsp" paramId="id" paramProperty="ID">删除</disp:column>
<disp:column title="删除2">
<input type="button" onclick='Delete(<c:out value="${resultList.ID}"/>)' value="删除"/>
</disp:column>
</disp:table>
</logic:equal> public ActionForward list(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) { ArrayList resultList = new ArrayList();
for (int i = 1; i <= 500; i++) {
HashMap col = new HashMap();
col.put("ID", i);
col.put("userName", "用户" + i);
col.put("passWord", "123456:" + i);
col.put("content", "内容12345,超过5位了:" + i);
resultList.add(col);
}
request.setAttribute("resultList", resultList); // 把结果存入request request.setAttribute("action", "list");
return mapping.findForward("list");
}
下面是productsMan.jsp和productsDelete.jsp页面的代码。
即使删除按钮添加成功,破坏了页面的风格,既要使用displaytag,又能够较好提示一些操作而不使用按钮,如何办?
我的问题很多,但是非常感谢 老菜 !谢谢!
productsMan.jsp:
<script language = "javascript">
function Delete(id){
if (confirm('are you sure to detele this item?')){
window.location.href="admin/productsDelete.jsp?id="+id;
}
}
</script></head>
<body topmargin="0" leftmargin="0"><jsp:useBean id="products" class="com.Company.cn.Products" scope="request"></jsp:useBean>
<%
DBConnection conn = new DBConnection();
ResultSet rs = Products.getProductsList(conn);
RowSetDynaClass resultSet = new RowSetDynaClass(rs, false);
conn.close();
request.setAttribute("productsResult",resultSet);
%>
<% org.displaytag.decorator.CheckboxTableDecorator decorator = new org.displaytag.decorator.CheckboxTableDecorator();
decorator.setId("id");
decorator.setFieldName("_chk");
pageContext.setAttribute("checkboxDecorator", decorator);
%>
<div id="content">
<form method="post" name="productsRecord" action="admin/productsMan.jsp" >
<div align="center">
<display:table name="requestScope.productsResult.rows" defaultsort="1" defaultorder="descending" id="productsTable" pagesize="10" decorator="checkboxDecorator" excludedParams="_chk" form="productsRecord" export="false" class="its" >
<display:column property="releaseTime" title="发布时间" sortable="true" headerClass="sortable"></display:column><display:column title="修改 "href="admin/productsModify.jsp" autolink="true" paramId="id" paramProperty="id">修改</display:column>
<display:column title="删除" paramId="id" paramProperty="id" media="html" ><input type="button" onclick=='Delete(<c:out value="${productsRecord.id}"/>)'
value="删除"/></display:column>
</display:table> </form>
</div></body>
productsDelete.jsp
<body> <jsp:useBean id="products" class="com.Company.cn.Products" scope="request"></jsp:useBean>
<%
DBConnection conn = new DBConnection();
products.getProductsInfo(conn,Integer.parseInt(request.getParameter("id")));
products.setID(Integer.parseInt(request.getParameter("id")));
products.deleteFromDB(conn);
out.println("delete done!!");
response.sendRedirect("productsMan.jsp");
%>
</body>
人憔悴啊。<display:table name="requestScope.newsResult.rows" defaultsort="1" defaultorder="descending" id="newsTable" pagesize="10" decorator="checkboxDecorator" excludedParams="_chk" form="newsRecord" export="false" class="its" >
<display:column title="序号"><%=pageContext.getAttribute("newsTable_rowNum")%></display:column>
<display:column property="title" title="标题"href="admin/newsShow.jsp" autolink="true" paramId="id"
paramProperty="id"></display:column>
<display:column property="author" title="作者"></display:column>
<display:column property="productModel" title="关联产品"></display:column>
<display:column property="classType" title="新闻类型" sortable="true" headerClass="sortable"></display:column>
<display:column property="releaseTime" title="发布时间" sortable="true" headerClass="sortable"></display:column>
<display:column property="hitTimes" title="点击次数" sortable="true" headerClass="sortable"></display:column> <display:column property="content"title="内容" media="html" ><%=news.getContent().substring(0,50)%></display:column>
<display:column title="修改 "href="admin/newsModify.jsp" autolink="true" paramId="id" paramProperty="id">修改</display:column>
<display:column title="删除 "href="admin/newsDelete.jsp" autolink="true" paramId="id" paramProperty="id">删除</display:column>
</display:table>
<a href='javascript:Delete(<%=pageContext.getAttribute("id")%>)'>删除</a>
</display:column>
function Delete(id){
if (confirm('are you sure to detele this item?')){
window.location.href="admin/productsDelete.jsp?id="+id;
}
}
</script></head>
<body topmargin="0" leftmargin="0"><jsp:useBean id="products" class="com.Company.cn.Products" scope="request"> </jsp:useBean>
<%
DBConnection conn = new DBConnection();
ResultSet rs = Products.getProductsList(conn);
RowSetDynaClass resultSet = new RowSetDynaClass(rs, false);
conn.close();
request.setAttribute("productsResult",resultSet);
%>
<% org.displaytag.decorator.CheckboxTableDecorator decorator = new org.displaytag.decorator.CheckboxTableDecorator();
decorator.setId("id");
decorator.setFieldName("_chk");
pageContext.setAttribute("checkboxDecorator", decorator);
%>
<div id="content">
<form method="post" name="productsRecord" action="admin/productsMan.jsp" >
<div align="center">
<display:table name="requestScope.newsResult.rows" defaultsort="1" defaultorder="descending" id="newsTable" pagesize="10" decorator="checkboxDecorator" excludedParams="_chk" form="newsRecord" export="false" class="its" >
<display:column title="序号"> <%=pageContext.getAttribute("newsTable_rowNum")%> </display:column>
<display:column property="title" title="标题"href="admin/newsShow.jsp" autolink="true" paramId="id" paramProperty="id"></display:column>
<display:column property="author" title="作者"> </display:column>
<display:column property="productModel" title="关联产品"> </display:column>
<display:column property="classType" title="新闻类型" sortable="true" headerClass="sortable"> </display:column>
<display:column property="releaseTime" title="发布时间" sortable="true" headerClass="sortable"> </display:column>
<display:column property="hitTimes" title="点击次数" sortable="true" headerClass="sortable"> </display:column> <display:column property="content"title="内容" maxLength="50"></display:column> <display:column title="修改 "href="admin/productsModify.jsp" autolink="true" paramId="id" paramProperty="id">修改 </display:column> <display:column title="删除"><a href='javascript:Delete(<%=pageContext.getAttribute("id")%>)'>删除</a></display:column></display:table>
</div>
</form>
</div>
使用<display:column title="删除"><a href='javascript:Delete(<%=pageContext.getAttribute("id")%>)'>删除</a></display:column>
但是,删除提示确认后,出现:
org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/productsDelete.jsp at line 2926: <jsp:useBean id="products" class="com.Company.cn.Products" scope="request"></jsp:useBean>
27: <%
28: DBConnection conn = new DBConnection();
29: products.getProductsInfo(conn,Integer.parseInt(request.getParameter("id")));
30: products.setID(Integer.parseInt(request.getParameter("id")));
31: products.deleteFromDB(conn);
32: out.println("delete done!!");
java.lang.NumberFormatException: For input string: "null"
看来是id为null。
productsDelete.jsp
<body> <jsp:useBean id="products" class="com.Company.cn.Products" scope="request"> </jsp:useBean>
<%
DBConnection conn = new DBConnection();
products.getProductsInfo(conn,Integer.parseInt(request.getParameter("id")));
products.setID(Integer.parseInt(request.getParameter("id")));
products.deleteFromDB(conn);
out.println("delete done!!");
response.sendRedirect("productsMan.jsp");
%>
</body>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>将
<display:column title="删除"><a href='javascript:Delete(<%=pageContext.getAttribute("id")%>)'>删除</a></display:column>
改为
<display:column title="删除"><a href='javascript:Delete(<c:out value="${newsTable.id}"/>)'>删除</a></display:column>注意:newsTable要跟
<display:table......id="newsTable" ..>这个一致;Js:
<script language = "javascript">
function Delete(id){
if(isNaN(parseInt(id)){
alert('没有取到id值');
return;
}
if (confirm('are you sure to detele this item?')){
window.location.href="admin/productsDelete.jsp?id="+id;
}
}
</script>
if(isNaN(parseInt(id))){
message description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'id' not found on type org.apache.commons.beanutils.BasicDynaBean
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause javax.el.PropertyNotFoundException: Property 'id' not found on type org.apache.commons.beanutils.BasicDynaBean
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
javax.el.BeanELResolver.property(BeanELResolver.java:279)
javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
org.apache.el.parser.AstValue.getValue(AstValue.java:118)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:925)
org.apache.jsp.admin.productsMan_jsp._jspx_meth_c_005fout_005f0(productsMan_jsp.java:558)
org.apache.jsp.admin.productsMan_jsp._jspx_meth_display_005fcolumn_005f8(productsMan_jsp.java:530)
org.apache.jsp.admin.productsMan_jsp._jspService(productsMan_jsp.java:279)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.