PDA

View Full Version : سوال: به چه دلیلی سرولت دو بار response رو به صفحه پاس می کنه ؟



mohammad_pro
شنبه 30 اردیبهشت 1391, 12:33 عصر
سلام.دوستان
به چه دلیلی سرولت دو بار response رو به صفحه پاس می کنه ؟
فرض کنید من combo box دارم این combo box با سرولت پر میشه
وقتی سرولت response می فرسته
combo box دو بار از مقدارهای فرستاده شده پر میشه
:متفکر:

همایون افشاری
شنبه 30 اردیبهشت 1391, 20:42 عصر
منظورتون از اینکه با سرولت پر میشه چیه؟
در واقع combo توی همون صفحه ای که هست مقدار میگیره.

mohammad_pro
یک شنبه 31 اردیبهشت 1391, 09:01 صبح
توجه کنید
دوتا کومبو باکس هستش
کومبو باکس ۱
کومبو باکس ۲

کومبو باکس ۲ بر طبق مقادیر کومبو باکس ۱ پر میشه
حالا من مقدار انتخاب شده از کومبو باکس ۱ رو توسط کدهای ajax به سرولت می فرستم
سرولت هم طبق یک الگریتمی مقادیر جدید به دست آمده رو به کومبو باکس ۲ می فرسته و کومبو باکس ۲ رو پر می کنه
مشکل اینجاست که کومبو باکس ۲ از مقادیر جدید ۲ بار پر میشه
یعنی اگر من می خوام تعداد مقادیر کومبو باکس ۲ . ده تا باشه
تعداد مقادیر کومبو باکس ۲ بیستا میشه

همایون افشاری
یک شنبه 31 اردیبهشت 1391, 20:27 عصر
باید دقیقا هم کد صفحه مقصد و هم سرولت رو بزارید تا ببینیم.
به هر حال بدون دلیل سرولت دوبار response نمی فرسته!

mohammad_pro
دوشنبه 01 خرداد 1391, 12:01 عصر
این کد javaScript


<script type="text/javascript">
var xmlHttp;

function ch(s1) {
alert(s1);

if (typeof XMLHttpRequest != "undefined") {
xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xmlHttp == null) {
alert("Browser does not support XMLHTTP Request");
return;
}
var url = "${pageContext.request.contextPath}/HelloWorldController";
url += "?tpl=" + s1;
alert(url);
xmlHttp.onreadystatechange = TplChange;
xmlHttp.open("POST", url, true);
xmlHttp.send(null);
}
function TplChange() {
//alert(srt);
if (xmlHttp.readyState == 4) {
// var popu="<option value='"+str+"'>"+str+"</option>";
//document.getElementById("StartTerminationPoint").innerHTML = pop;
document.getElementById("StartTerminationPoint").innerHTML = xmlHttp.responseText;

alert(xmlHttp.responseText);
}


}
</script>

---------------------------------------------------------------------------------------
اینم کد jsp



<jsp:useBean id="Populate" class="net.roseindia.web.Populate" />

<select name="ManageElements" onchange="ch(this.value)">
<%List<String> x=Populate.getLi();
for(int i=0;i<Populate.getLi().size();i++){%>
<option value="<%=Populate.getLi().get(i)%>">
<%=Populate.getLi().get(i)%>
</option>
<%}%>
</select>
<select id="StartTerminationPoint">

</select>
---------------------------------------------------------------------------------------
اینم کد Servlet

private Populate p = new Populate();
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String tp = request.getParameter("tpl");
String buffer = "<select name='StartTerminationPoint'>";
System.out.println(p.getLi().size());
for (int i = 0; i < p.getLi().size(); i++) {

buffer = buffer + "<option value='" + tp + "'>" + tp
+ "</option>";
}
buffer += buffer + "</select>";
response.getWriter().println(buffer);

}

-------------------------------------------------------------
اینم کلاس populate

import java.util.ArrayList;
import java.util.List;

public class Populate {
private List<String> li;
public int size;
public List<String> getLi() {
int a;
li=new ArrayList<String>();
for(int i=0;i<=10;i++){
li.add(Integer.toString(i));
}
size=li.size();
return li;
}
}

همایون افشاری
دوشنبه 01 خرداد 1391, 20:11 عصر
خط 12 کد Servlet باید به این شکل تغییر کنه :
buffer = buffer + "</select>";
در واقع =+ رو با = عوض کنید!!

mohammad_pro
سه شنبه 02 خرداد 1391, 09:15 صبح
وای اصلا به این دقت نکرده بودم :متعجب:
چندین بار کد نگاه کردم ولی اصلا حواسم به + قبل از مساوی نبود :اشتباه: :گیج:
بسیار بسیار تشکر از اینکه وقت گذاشتین و کدهای منو نگاه کردین :قلب: :بوس:
ممنون :تشویق: :لبخندساده: :چشمک:
در واقع من این مثالو از یک سایت دانلود کردم و امدم تغییرش دادم و این مشکل پیش آمد
بزارید به حساب تازه کاری :خجالت: :خجالت: :خجالت:

derakhshan.parvizi
سه شنبه 02 خرداد 1391, 10:49 صبح
سلام میشه راهنمایم کنید که برای نوشتن برنامه wordبااستفاده از زبان برنامهنویسی javaچیکارکنم؟

spiderman200700
سه شنبه 02 خرداد 1391, 18:17 عصر
سلام میشه راهنمایم کنید که برای نوشتن برنامه wordبااستفاده از زبان برنامهنویسی javaچیکارکنم؟
سلام.
در ساده ترین حالت باید از یه JTextField استفاده کنی و خودن از فایل و نوشتن در فایل رو بلد باشی.
با اینا یه راحتی میتونی یه ویرایشگر متن ایجاد کنی.

در ضمن این سوال مربوط به قسمت JavaSE میشه ، نه JavaEE
موفق باشید.