首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取Struts2-jquery-grid行Id以进行删除

无法获取Struts2-jquery-grid行Id以进行删除
EN

Stack Overflow用户
提问于 2012-10-09 12:47:10
回答 1查看 2.2K关注 0票数 2

我正在用Struts2和Jquery Grid开发一个小应用程序,用于显示数据结果。

当我点击编辑按钮时,特定的行id就会出现。但是当我单击delete按钮删除该行时,它的id就不会出现了。当对选中的行执行删除操作时,如何获取行的id (Struts2 Jquery Grid)?

请帮帮我。

myJspFile.jsp

代码语言:javascript
复制
  <%@ page contentType="text/html; charset=UTF-8"%>
        <%@ taglib prefix="s" uri="/struts-tags"%>
        <%@ taglib prefix="sj" uri="/struts-jquery-tags"%>

        <%@ taglib prefix="sjg" uri="/struts-jquery-grid-tags"%>
        <jsp:include page="../../loginCheck.jsp" />
        <html>
        <head>
        <title>Hello World</title> 
        <style type="text/css">
        @import
        url(<%=request.getContextPath()%>/css/style1.css);
        </style> 
         <sj:head jqueryui="true" jquerytheme="le-frog"/>
        </head>
        <body> 
            <div id="setpage"> <s:url id="editurl" action="nedit"/>
                <s:url id="editurl" action="nedit"/>
                <s:url  id="remoteurl" action="ntable"/> 
              <sjg:grid
                id="gridtable"
                caption="Subject Setup Navigator"
                dataType="json"
                href="%{remoteurl}"
                pager="true"
                rowList="10,20,100"
                 rowNum="5"
                navigator="true"
                width="999"
                navigatorSearchOptions="{sopt:['eq','ne','lt','gt']}"
                navigatorAddOptions="{height:280,reloadAfterSubmit:true}"
                navigatorEditOptions="{height:280,reloadAfterSubmit:false}"
                navigatorEdit="false"
                navigatorView="false"
                navigatorDelete="true"
                navigatorDeleteOptions="{height:280,reloadAfterSubmit:true}"
                gridModel="gridModel" 
                editurl="%{editurl}"
                editinline="true"
                onSelectRowTopics="rowselect"

            >
                   <sjg:gridColumn name="subjectId" index="subjectId" title="SubjectId" formatter="integer" sortable="false" key="true"    hidden="true"   />
                   <sjg:gridColumn name="subjectName" index="subjectName" title="Subject Name" sortable="true" search="true"
                                    editable="true"
                                    edittype="text" />
                </sjg:grid> 
            <br/>

            </div>
        </body>
        </html>

MyActionClass.java

代码语言:javascript
复制
    /*
         * To change this template, choose Tools | Templates
         * and open the template in the editor.
         */
        package v.esoft.actions.subjectdetails; 
        import com.opensymphony.xwork2.ActionSupport; 
        import java.text.SimpleDateFormat; 
        import com.opensymphony.xwork2.ModelDriven; 
        import v.esoft.dao.SubjectdetailsDAO.SubjectdetailsDAO; 
        import v.esoft.pojos.Subjectdetails;

        public class SubjectdetailsEditAction   extends ActionSupport  implements ModelDriven<Subjectdetails>
        {
            private static final long serialVersionUID = -6659925652584240539L; 
           private String oper; 
            int subjectId;
             Subjectdetails subject=new Subjectdetails();
           SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd"); 
           SubjectdetailsDAO dao=new SubjectdetailsDAO();       


           @Override
           public Subjectdetails getModel()
        {   
              return subject;
           }

          public String execute() throws Exception
            {    
              System.out.println(subject.getSubjectId());
              if(oper.equalsIgnoreCase("add"))
                {
                  System.out.println ("inside action");
                  dao.saveOrUpdateSubject(subject);  
                }
                else if (oper.equalsIgnoreCase("edit"))
                { 
                     dao.saveOrUpdateSubject(subject);  
                }
                else if (oper.equalsIgnoreCase("del"))
                {
                    System.out.println("subjectId");
                    System.out.println(subject.getSubjectId());
                //  dao.deleteSubject(subjectId);
                }
                return SUCCESS;
            } 
          //---------------
            public String getOper() {
                return oper;
            }

            public void setOper(String oper) {
                this.oper = oper;
            }


            public Subjectdetails getSubject() {
                return subject;
            }


            public void setSubject(Subjectdetails subject) {
                this.subject = subject;
            }
            public int getSubjectId() {
                return subjectId;
            }
            public void setSubjectId(int subjectId) {
                this.subjectId = subjectId;
            }


        }

Subjectdetails.java我的pojo

代码语言:javascript
复制
 package v.esoft.pojos;

        // Generated Oct 6, 2012 1:58:21 PM by Hibernate Tools 3.4.0.CR1

        import java.util.Date;

        /**
         * Subjectdetails generated by hbm2java
         */
        public class Subjectdetails implements java.io.Serializable {

            private int subjectId;
            private String subjectName;
            private Integer createrId;
            private Date createdDate;
            private Integer updateId;
            private Date updatedDate;

            public Subjectdetails() {
            }

            public Subjectdetails(int subjectId) {
                this.subjectId = subjectId;
            }


            public Subjectdetails(int subjectId, String subjectName, Integer createrId,
                    Date createdDate, Integer updateId, Date updatedDate) {
                this.subjectId = subjectId;
                this.subjectName = subjectName;
                this.createrId = createrId;
                this.createdDate = createdDate;
                this.updateId = updateId;
                this.updatedDate = updatedDate;
            } 

            public int getSubjectId() {
                return this.subjectId;
            }

            public void setSubjectId(int subjectId) {
                this.subjectId = subjectId;
            }

            public String getSubjectName() {
                return this.subjectName;
            }

            public void setSubjectName(String subjectName) {
                this.subjectName = subjectName;
            }

            public Integer getCreaterId() {
                return this.createrId;
            }

            public void setCreaterId(Integer createrId) {
                this.createrId = createrId;
            }

            public Date getCreatedDate() {
                return this.createdDate;
            }

            public void setCreatedDate(Date createdDate) {
                this.createdDate = createdDate;
            }

            public Integer getUpdateId() {
                return this.updateId;
            }

            public void setUpdateId(Integer updateId) {
                this.updateId = updateId;
            }

            public Date getUpdatedDate() {
                return this.updatedDate;
            }

            public void setUpdatedDate(Date updatedDate) {
                this.updatedDate = updatedDate;
            }

        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-13 09:58:49

我也有同样的问题。log4j调试帮助我解决了这个问题。即使您在.jsp的subjectId字段中使用了‘key="true“’,id仍然被简单地作为'id‘传递。

所以,在你的行动中,而不是:

代码语言:javascript
复制
int SubjectId;

尝试:

代码语言:javascript
复制
private int id;

并定义它的getter和setter。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12792961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档