こんにちは私は、select box onchangeイベントでstorenameのonselectイベントを使って1つの選択ボックスに製品名を読み込むために、プロジェクトでAjaxを使用しています。ここでは、JavaアクションクラスからJSPにリストを取得するためにAjaxを使用しました。 JspとActionクラスの私のコードは以下のようになります。XML変換の問題を解決するには?
<s:label value="Store Name : *" />
<s:select name="storeName" list="storeList" onchange="loadProduct(this.value)" listKey="storeId" listValue="storeName" headerKey="-1" headerValue="Select the Store" />
<s:label value="Product Name : *" />
<s:select name="productName" list="productList" listKey="productId" listValue="productName" />
function loadProduct(id){
var URL = "AjaxPopMyCycle.action?storeName="+id;
ajaxEditFunctionCall(URL);
}
function ajaxEditFunctionCall(URL){
try{
xmlHttp=new XMLHttpRequest();
}catch (e){
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4){
if (xmlHttp.status == 200) {
if(xmlHttp.responseXML != null){
showMessage(xmlHttp.responseXML);
}
}
}
}
xmlHttp.open("GET", URL, true);
xmlHttp.send(URL);
}
function showMessage(errorDisplayXML){
var checklist=document.Add.productName;
checklist.options.length=0;
if(xmlHttp.readyState==4){
if(errorDisplayXML.getElementsByTagName("rootElement")[0]!=null){
var rootElement = errorDisplayXML.getElementsByTagName("rootElement")[0];
var location = rootElement.getElementsByTagName("Message");
var locArr = location[0];
var locArr = " ";
var tempArr;
var tempArr1;
for(var i=0; i<location.length; i++){
tempArr = "";
tempArr1 = "";
locArr = location[i];
tempArr = locArr.getElementsByTagName("productId")[0].firstChild.nodeValue;
tempArr1 = locArr.getElementsByTagName("productnName")[0].firstChild.nodeValue;
checklist.options[i]= new Option(tempArr1,tempArr);
}
}else{
alert("errorDisplayXML Contains NULL");
}
}
}
結果を取得してXMLにロードするためのActionクラスのコードは次のとおりです。
detailedListには、データベースからのストアに関連する製品のリストが含まれています。
私はアクションクラスに以下のパッケージをインポートしました。
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
import com.sun.org.apache.xml.internal.serialize.OutputFormat;
import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
最後の3週間は正常に機能します。
コンパイル中に次のエラーメッセージが表示されることはありません。
C:¥Users¥Desktop¥Updated¥Project¥src¥main¥java¥com¥action \ AjaxAction.java:[199,5] com.sun.org.apache.xml.internal.serialize.XMLSerializer は、Sun独自のAPIであると
C将来のリリースでは削除されることがあります。AjaxAction.java \デスクトップ\ \ Users \ユーザー更新\プロジェクト\のSRCメイン\のJava \ \ COM \アクション :[199,32] COM。 sun.org.apache.xml.internal.serialize.XMLSerialize rは日、独自のAPIであると
私のプロジェクトは、フロントエンドとバックエンドとしてMySQLサーバとしてStruts2の、JSP、Hibernate3のを使用して、将来のリリースで除去することができます。私はこの問題を解決することは考えていません。
誰でもこの問題を解決するのを手伝ってください。前もって感謝します!!!。
ちょうど側ではないあなたはより軽量かつよりであるJSON形式を訴えない理由flexible.S2は、DIN JSONのサポートとへの容易なを構築しています代わりにXStreamを使用してフレキシブルで使いやすい –
ありがとうUmeshAwasthi。 JSON形式を使用するためにURLを送信できますか?私はこの技術について全く知らない。 – shiva
ここにあなたのリンクがあります。あなたのクラスパスにプラグインが必要です。あなたは行く準備ができています。 https://cwiki.apache.org/confluence/display/WW/JSON%20Plugin –