我將INR轉換爲USD,反之亦然。當我跑,我得到這樣的警告:沒有爲名稱空間struts 2映射的動作
WARNING [http-nio-8084-exec-22] com.opensymphony.xwork2.util.logging.commons.CommonsLogger.warn Could not find action or result
There is no Action mapped for namespace/and action name netbeans-tomcat-status-test. - [unknown location]
操作文件是ConverterAction.java
package com.vishal;
import com.opensymphony.xwork2.ActionSupport;
import java.math.BigDecimal;
public class ConverterAction extends ActionSupport {
private String from;
private String to;
private BigDecimal amount;
private BigDecimal result;
public String excecute() {
ConverterBean n = new ConverterBean();
result = n.convert(from, to, amount);
return SUCCESS;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public BigDecimal getResult() {
return result;
}
public void setResult(BigDecimal result) {
this.result = result;
}
}
Bean類ConverterBean.java
package com.vishal;
import java.math.BigDecimal;
public class ConverterBean {
private BigDecimal INR = new BigDecimal(0.02291);
private BigDecimal USD = new BigDecimal(46.58);
public BigDecimal convert(String fromCurrency, String toCurrency, BigDecimal amount) {
if (fromCurrency.equals(toCurrency)) {
return amount;
}
BigDecimal toRate = findRate(toCurrency);
BigDecimal result = toRate.multiply(amount);
return result.setScale(2, BigDecimal.ROUND_UP);
}
public BigDecimal findRate(String currencySymbol) {
BigDecimal returnValue = null;
if (currencySymbol.equals("INR")) {
returnValue=INR;
}
if (currencySymbol.equals("USD")) {
returnValue=USD;
}
return returnValue;
}
}
struts.xml的
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package extends="struts-default" name="/">
<action name="convert">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
Index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<body>
<s:form action="convert">
Enter amount to convert: <s:textfield default="0" name="amount"/>
<br/><br/>
From:
<s:textfield name="from"/>
<br/><br/>
To:
<s:textfield name="to"/>
<br/><br/>
<s:submit value="submit"/>
</s:form>
</body>
</html>
的Result.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html>
<html>
<body>
<h2>Hello</h2>hi
<s:property value="result" default="0" />
</body>
</html>
在考慮更進一步之前,我會考慮快速瀏覽一個簡單的教程;除了格式化問題之外,這裏還有很多事情不會按原樣工作。 –