如何使用显示标签将我想要删除/编辑的行中的值从 struts2 中的 jsp 传递给操作类? [英] How to pass the values in the row that i want to delete/edit to the action class from jsp in struts2 using display tag?

查看:20
本文介绍了如何使用显示标签将我想要删除/编辑的行中的值从 struts2 中的 jsp 传递给操作类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用 struts2 创建编辑、删除显示标签中的链接.这是我的jsp代码

I want to create edit , delete link in display tag with struts2. This is my jsp code

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@taglib uri="http://displaytag.sf.net" prefix="display" %>
<html>
<head>

    <title>Contact Manager - display tag Example</title>
    <link href="css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<display:table  name="contactList" requestURI="" pagesize="10" export="true" cellpadding="1" uid="sr"  cellspacing="1" size="50"
    defaultorder="ascending" sort="list" style="width:850"
     id="row">
            <display:column property="id" title="serial no" sortable="true"   />
            <display:column property="lastName" title="TV Show" sortable="true"   />
            <display:column property="firstName" title="User Name" sortable="true"  />
            <display:column property="emailId" title="Email Id" sortable="true"  />

            <display:column media="html"
    title="Delete"
    style="text-align:center">
    <s:url id="deleteUrl" action="deleteLink">
    <s:param name="id1" value="#attr.row.id" />
    </s:url>
    <s:a href="%{deleteUrl}">
         Delete
    </s:a>
</display:column>

<display:column media="html"
title="edit"
style="text-align:center">
<a href="deleteLink?id=<s:property value="id"/>">edit</a>
</display:column>

             <display:setProperty name="export.excel.filename" value="ActorDetails.xls"/>
            <display:setProperty name="export.pdf.filename" value="ActorDetails.pdf"/>
            <display:setProperty name="export.pdf" value="true" />
        </display:table>



</body>
</html>

这是我的动作类:

    package net.viralpatel.contact.view;

    import java.util.List;

    import net.viralpatel.contact.controller.ContactManager;
    import net.viralpatel.contact.model.Contact;

    import com.opensymphony.xwork2.ActionSupport;


    public class ContactAction extends ActionSupport implements ModelDriven<Contact>,Preparable {

        private static final long serialVersionUID = 9149826260758390091L;

        private Contact contact;
        private List<Contact> contactList;


        private ContactManager linkController;

        public ContactAction() {
            linkController = new ContactManager();
        }



        public String getRecords()
        {
            contactList =linkController.lSist();

            return SUCCESS;
        } 

        public String deleteRecord()
        {
           System.out.println(contact.getId());

            return SUCCESS;
        } 

        public Contact getContact() {
            return contact;
        }

        public List<Contact> getContactList() {
            return contactList;
        }

        public void setContact(Contact contact) {
            this.contact = contact;
        }

        public void setContactList(List<Contact> contactsList) {
            this.contactList = contactsList;
        }


@Override
    public Contact getModel() {

        return contact;
    }

    @Override
    public void prepare() throws Exception {
        // TODO Auto-generated method stub
        contact = new Contact();
    }
    }

如何将jsp页面中删除的行中的属性值获取到ContactAction类中的deleteRecord()方法中??这里声明

How do I get the values of the attributes in the row which I delete from the jsp page to the deleteRecord() method in the ContactAction class?? HERE the statement

System.out.println("ID IS "+contact.getId());

给出输出:ID IS null

gives an output: ID IS null

请提出一些解决方案.

谢谢

这是联系豆

package net.viralpatel.contact.model;

import java.io.Serializable;
import java.sql.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Contacts")
public class Contact implements Serializable{

    private static final long serialVersionUID = -8767337896773261247L;

    private Long id;
    private String firstName;
    private String lastName;
    private String emailId;
    private String cellNo;
    private Date birthDate;
    private String website;

    private Date created;

    @Id
    @GeneratedValue
    @Column(name="id")
    public Long getId() {
        return id;
    }
    @Column(name="firstname")
    public String getFirstName() {
        return firstName;
    }
    @Column(name="lastname")
    public String getLastName() {
        return lastName;
    }
    @Column(name="email_id")
    public String getEmailId() {
        return emailId;
    }
    @Column(name="cell_no")
    public String getCellNo() {
        return cellNo;
    }
    @Column(name="birthdate")
    public Date getBirthDate() {
        return birthDate;
    }
    @Column(name="website")
    public String getWebsite() {
        return website;
    }
    @Column(name="created")
    public Date getCreated() {
        return created;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }
    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
    public void setEmailId(String emailId) {
        this.emailId = emailId;
    }
    public void setCellNo(String cellNo) {
        this.cellNo = cellNo;
    }
    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }
    public void setCreated(Date created) {
        this.created = created;
    }
    public void setWebsite(String website) {
        this.website = website;
    }
}

推荐答案

这里,就是我们可以使用来实例化bean类然后<;s:param> 充当 setter 方法,可以使用 bean 类 Contact 的 getter 方法在操作类中检索其值

Here, is the answer we can use the <s:bean> to instantiate the bean class and then <s:param> acts as the setter method whose values can be retrieved in the action class using getter methods of the bean class Contact

<display:column media="html"
    title="Delete"
    style="text-align:center">
    <s:url id="deleteUrl" action="deleteLink">
    <s:bean name="net.viralpatel.contact.model.Contact"></s:bean>
    <s:param name="id" value="#attr.row.id"></s:param>
    <s:param name="firstName" value="#attr.row.firstName"></s:param>
    </s:url>
    <s:a href="%{deleteUrl}">
         Delete
    </s:a>
</display:column>

这篇关于如何使用显示标签将我想要删除/编辑的行中的值从 struts2 中的 jsp 传递给操作类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆