我非常困惑,而且非常确定我这样做是错误的。这只是一个随机的应用程序,我正在制作以更好地理解编程到目前为止我有这个!
<select class="form-control" name="category" id="category">
<option value="">--Please select category--</option>
<c:if test="${not empty productCategoryList}">
<c:forEach items="${productCategoryList}" var="productCategory">
<option id="catOptionId" value="${productCategory.pCatrgoryId}">${productCategory.pCategoryName}</option>
</c:forEach>
</c:if>
</select>
<select class="form-control" name="subCategory" id="subCategory">
<c:if test="${not empty subCategoryList}">
<c:forEach items="${subCategoryList}" var="subProductCategory">
<option value="${subProductCategory.subCategoryId}">${subProductCategory.subCategoryName}</option>
</c:forEach>
</c:if>
</select>
<script type="text/javascript">
$(document).ready(function() {
//Dropdown select
$("#subCategory").attr("disabled", true);
$("#category").change(function() {
var catId = $(this[this.selectedIndex]).val();
alert(catId);
if (catId != "" && catId != null) {
$("#subCategory").attr("disabled", false);
$.ajax({
type : 'GET',
url : 'getSubCatOnCat',
data : {subCat : catId},
success : function(data) {
alert(data);
// Problem is at this point.
$("#subCategory c:forEach").attr("items",data);
},
error : function(xmlHttpRequest,textStatus,errorThrown) {
if (xmlHttpRequest.readyState = 0 || xmlHttpRequest.status == 0)
return;
},
});
}
});
});
</script>
我把我遇到问题的地方放在代码中。我不知道在对象变量中放什么!
答案 0 :(得分:1)
您不应该从构造函数中的输入读取值,构造函数应该仅用于初始化变量。在原始代码中,Player
类不可重用,因为它取决于name
变量的来源(并且它只能是标准输入)。序列化,克隆和制作Player
的数组将变得如此困难或不可能,因为每次创建Player
对象时它都会阻塞主线程并要求用户输入名称。
这段代码好一点:
public class Player {
private String name;
public Player(String name, String type,int things){
this.name = name;
}
public String getName() {
return name;
}
public int[] playerMove(int x, int y){
x = 3;
y = 2;
return new int[] {x , y};
}
public static void main(String args[]){
System.out.println("Enter your players name: ");
Scanner in = new Scanner(System.in);
String name = in.nextLine();
Player devin = new Player(name, "class", 3);
System.out.println("You entered " + devin.getName());
}
}