[解決済み] アクションの名前が大文字と小文字を区別することが判明しました
JSON を取得するために、サーバーに ajax リクエストを実行したいと考えています。このように構成されたstruts2パッケージを使用しています
<package name="it.polito.ai.e3" namespace=""
extends="struts-default,json-default">
<action name="getDay" class="it.polito.ai.e3.GetDayAction" >
<result name="success" type="json" />
<result name="error" type="json" />
</action>
</package>
GetDayAction クラスは
package it.polito.ai.e3;
import java.util.Date;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class GetDayAction extends ActionSupport
{
private String startDate;
public String execute()
{
try
{
System.out.println("Ciao");
System.out.println(startDate);
}
catch (Exception e)
{
e.printStackTrace();
return Action.ERROR;
}
return Action.SUCCESS;
}
public String getStartDate()
{
return startDate;
}
public void setStartDate(String startDate)
{
this.startDate = startDate;
}
}
jQuery投稿ブロックは
$(function() {
$.post('getday.action', document.getElementById('startDate').innerHTML,
function(data) {
});
});
get jQueryブロックの場合は
$(function() {
$.getJSON('getday.action', document.getElementById('startDate').innerHTML,
function(data) {
});
});
document.getElementById('startDate').innerHTML
文字列でフォーマットされた Date を取得します。
ajax経由でgetまたはpostを実行すると、Tomcatは500内部サーバーエラーとこのスタックトレースを表示します
java.lang.NullPointerException
org.apache.struts2.impl.StrutsActionProxy.getErrorMessage(StrutsActionProxy.java:69)
com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185)
org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63)
org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:500)
org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434)
Tomcat7 コンソールには、System.out.println() も他のメッセージも何も表示されません。
私は自分が間違っていることについて手がかりがありません。ありがとう