我的数据库中有2个表格(机场和中途停留站)。
我编写了一个SQL联接查询,以获取具有两个表中的字段的结果集。
为了映射结果,我创建了一个自定义对象“ VbResult”。 (数据库中没有与此域对象对应的表)

请为域对象,控制器和视图找到以下代码:
当我调用主页时,我得到了例外,尽管我在VbResult类中具有字段ressrc。

(或)使用自定义对象作为VbResult是错误的-仅出于View的考虑,而View却不存在此表?

我被困了很长时间..我在这里想念什么!请告诉我!

提前致谢

javax.el.PropertyNotFoundException:在类型com.datacaliper.vbuddy.domain.VbResult上找不到属性“ ressrc”

域对象:VbResult

public class VbResult implements java.io.Serializable{
private static final long serialVersionUID = -3606761414209638631L;
private Integer resid;
private String resairline;
private String resemail;
private String ressrc;
private String resdes;
//private String res_airline;

public VbResult(){  }

public VbResult(Integer id, String airline, String email,
        String source, String destination) {
    this.resid= id;
    this.resairline = airline;
    this.resemail = email;
    this.ressrc = source;
    this.resdes = destination;
}

public Integer getId() {
    return this.resid;
}
public void setId(Integer id) {
    this.resid = id;
}
public String getAirline() {
    return this.resairline;
}
public void setAirline(String airline) {
    this.resairline = airline;
}
public String getEmail() {
    return this.resemail;
}
public void setEmail(String email) {
    this.resemail = email;
}
public String getSource() {
    return this.ressrc;
}
public void setSource(String source) {
    this.ressrc = source;
}
public String getDestination() {
    return this.resdes;
}
public void setDestination(String destination) {
    this.resdes = destination;
}
}


控制器代码:

@Controller
@RequestMapping({"/","/main"})
public class MainController {
protected static Logger logger = Logger.getLogger("controller");
@Resource(name="PostService")
private PostService postService;
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String getStopovers(Model model) {
logger.debug("Received request to show all Posts");
// Retrieve all posts by delegating the call to PostService
List<VbResult> stops = postService.getAll();
// Attach persons to the Model
model.addAttribute("stops", stops);
return "homepage";
}
}


JSP页面

<c:forEach items="${stops}" var="stop">
<tr>
<td><c:out value="${stop.ressrc}" />
</td>
<td><c:out value="${stop.resdes}" />
</td>
</tr>
</c:forEach>

最佳答案

javax.el.PropertyNotFoundException:在类型com.datacaliper.vbuddy.domain.VbResult上找不到属性“ ressrc”


基本上,这是在具有完全限定名称getRessrc()的类上没有名称为com.datacaliper.vbuddy.domain.VbResult的getter方法。

确实,没有这样的方法。您将其称为getSource()。相应地修复您的JSP代码。

<c:out value="${stop.source}" />


解决此问题后在PropertyNotFoundException上获得的新resdes现在应该可以很容易地解释了;)

09-28 12:55