這可能是一個愚蠢的問題,但我無法自己想出一個可能的解決方案。 基本上我試圖用Spring MVC和Yahoo Finance API創建一個簡單的Java Web應用程序。 我的目標是創建一個簡單的表格,我將能夠插入一個特定股票的符號(例如:INTC(英特爾公司)),並得到它的「紅利」,「價格」,「報價」等使用Spring MVC與Yahoo Finance API「找不到默認構造函數」
我addStock.jsp:
<form:form method="POST" modelAttribute="stock">
<label>Symbol:</label>
<form:input path="symbol" />
<input type="submit" />
</form:form>
AddStock.java的部分:
@RequestMapping(method = RequestMethod.GET, params="new")
public String createForm(Model model) {
Stock stock = new Stock();
model.addAttribute("stock", stock);
return "addStock";
}
@RequestMapping(method = RequestMethod.POST)
public String add(Stock stock, BindingResult result, Model model) throws IOException {
String name = "";
BigDecimal price = new BigDecimal("0.00");
BigDecimal change = new BigDecimal("0.00");
BigDecimal peg = new BigDecimal("0.00");
BigDecimal dividend = new BigDecimal("0.00");
BigDecimal bookValuePerShare = new BigDecimal("0.00");
if(!result.hasErrors()){
yahooFinService.addStock(stock);
if (YahooFinance.get(stock.getSymbol()).getQuote().getPrice() != null) {
symbol = stock.getSymbol();
name = YahooFinance.get(stock.getSymbol()).getName();
price = YahooFinance.get(stock.getSymbol()).getQuote().getPrice();
change = YahooFinance.get(stock.getSymbol()).getQuote().getChangeInPercent();
peg = YahooFinance.get(stock.getSymbol()).getStats().getPeg();
dividend = YahooFinance.get(stock.getSymbol()).getDividend().getAnnualYieldPercent();
bookValuePerShare = YahooFinance.get(stock.getSymbol()).getStats().getBookValuePerShare();
}
model.addAttribute("symbol", symbol);
model.addAttribute("name", name);
model.addAttribute("price", price);
model.addAttribute("change", change);
model.addAttribute("peg", peg);
model.addAttribute("dividend", dividend);
model.addAttribute("bookValuePerShare", bookValuePerShare);
YahooFinance.get(stock.getSymbol()).print();
}
return "result";
}
我的 「問題」 來當我創建空的構造 「股票」。 雅虎財經不提供一個空的構造,但只是:
public Stock(String symbol) {
this.symbol = symbol;
}
,我應該怎麼辦?當然,當我創建一個新的bean,從API中複製整個代碼,添加空的構造函數和導入(我提供的代碼),但是我不認爲這是使用API的正確方式,甚至如果它是「合法的」。 我想創建一個新的java類,它將擴展來自Yahoo Finance API的類,但它不允許添加一個空的構造函數。
我知道我的問題是更多的「java知識」,但如果有人可以幫助我將是巨大的。我希望我已經解釋了我的問題。乾杯