用户登录
用户注册

分享至

如何从 Struts 2 中的选定对象中获取对象属性

  • 作者: 苏晴儿说我特别能干
  • 来源: 51数据库
  • 2022-10-21

问题描述

我有一个 City 对象列表,其中包含 name 和 id 字段.我使用 Struts2,并且我有一个带有选择标签的 jsp 页面.

I have a list of City objects with name and id fields. I use Struts2 and I a have jsp page with a select tag.

<s:select label="Source city" 
          list="cities" 
          name="source"/>

这里是 Action 类

public class CalculationAction extends ActionSupport {

    private List<City> cities;
    private DataAccessPerformer dao = new DataAccessPerformer();
    private String source;
    private int sourceId;

    public CalculationAction() {
        cities = new ArrayList<City>();
        // getting cities from database
        setCities(dao.getAllCities());
    }

    // getters and setters
}

城市类

public class City {

    private int id;
    private String name;

    @Override
    public String toString() {
        return getCityName();
    }

    // getters and setters
}

通过这种方式,我正在初始化 source 字段,但我无法获取 sourceId.

In this way I'm getting source field initialized, but I can't fetch sourceId.

我尝试将 source 字段类型更改为 City,但出现 FieldError

I tried to change source field type to City, but I got FieldError

字段源"的字段值无效.

Invalid field value for field "source".

我应该如何正确获取 id?

How should I properly fetch the id?

推荐答案

要将 id 设置为 select 标签的值,您应该使用附加属性

To set id to the value of the select tag you should use additional attributes

<s:select label="Source city" 
          list="cities" 
          listKey="id"
          listValue="name"
          name="sourceId"/>
软件
前端设计
程序设计
Java相关