실천 소결을 재구성하다.

4729 단어 UIXHTMLJSF
1.    How to remove items from list We can’t delete the items from list directly(use list.remove(Object o)), it will generate a bug, we should use Iterator.remove(),
어떻게list에서 데이터를 삭제합니까?
한list에서 데이터를 직접 삭제할 수 없습니다. (list.remove (Object o) 그러면 버그가 발생하지만, Iterator를 사용할 수 있습니다.remove ()로 이 점을 실현한다. e.g.
for(Telephone eachPhone : telephoneList){
	if(eachPhone.isDeleted()){
	telephoneList.remove(eachPhone);  //wrong
	}
}

Iterator<Telephone> phoneIt = telephoneList.iterator();
while(phoneIt.hasNext()){
	Telephone eachPhone = phoneIt.next();
	if(eachPhone.isDeleted()){
	phoneIt.remove();              //right
	}
}

2.    how to maintain list in J2EE project There are a lot of actions to list in J2EE project, such as add, edit, delete and undo, how to maintain them?
J2EE에서 list를 유지하는 방법
J2EE에서 리스트(또는 다른collection)에 대한 많은 작업이 자주 발생한다. 예를 들어 추가, 수정, 삭제, 스크롤 등이다. 어떻게 그들을 유지합니까?
Two methods:
Method\Action
Add   
update   
delete
Temp list
All changes are made to the templist, only apply to real list when necessary, easy to undo add or delete, but it will bring a lot of temp variable(모든 수정은 templist에서 DB에 제출되기 전에만 real list에 동기화됩니다. 이런 방식은add와 delete의 undo 작업을 실현하는데 도움이 되지만 임시 변수, 코드 유지보수성이 떨어집니다)
Directly(using flags show instance status )
Using flags to show instance status, easy to undo add or delete,clear and clean (flags로 실례적인 상태를 표시하고 new, deleted와 같이 undo를 추가하거나 삭제하는 데 유리하며 코드가 비교적 깨끗함)
 
3.    how to implement “undo delete” Most delete are logic delete, when click “delete” button or link, there are only set one field of the delete object. So if want to undo “delete”, just set the corresponding filed to its previous value. We can use command pattern to implement it.
"undo delete"구현 방법
대부분의 delete는 논리적으로 삭제됩니다. 'delete' 단추나 링크를 눌렀을 때 삭제된 Object의 한 필드만 설정합니다.그래서 undo를 원할 때 해당 필드의 값을 원값으로 설정하면 됩니다. 우리는command 모드로 실현할 수 있습니다.
e.g., use “deleted” filed to indicate it deleted or not
public class DeletedTelephoneCommand(){
	private Telephone selectedPhone;
	private boolean  oldValue;
	public DeletedTelephoneCommand(Telephone selectedTelephone){
	this.selectedPhone = selectedTelephone;
	oldValue = selectedTelephone.isDeleted();
}
public void execute(){
	selectedPhone.setDeleted(true);
}
public void undo(){
	selectedPhone.setDeleted(oldValue);
}
} 

 when delete a telephone, you can new a DeletedTelephoneCommand and run execute() method, if undo it, just run undo() method. Maybe you want to undo a lot of things at a time, you can add the DeletedTelephoneCommand object to a list and run undo() method one by one at the same time.
전화번호를 삭제할 때, 우리는 Deleted Telephone Command를 새로 만들고execute 방법을 호출할 수 있으며, 만약 undo를 원한다면, 우리는 직접 undo 방법을 호출하면 된다.아마도 우리는 한 번에 undo가 많은 것을 필요로 할 것이다. 그러면 이 Deleted Telephone Command를 하나의 대기열에 추가하고, 그 다음에 undo를 하나씩 실행하는 방법을 사용하면 된다
 
4.    how to part submit with loading icon in JSF page we can use and to resolve this.
어떻게 jsf 페이지에서loading icon을 가진 국부 제출을 실현합니까
우리는 and 를 사용하여 실현할 수 있다
e.g.,
……
<a4j:region id=”phoneRegion”>
	……
	<a4j:commandButton ……  status=”loadingIcon”  />
</a4j:region>
<ui:include src=”/layout/loadingIcon.xhtml” />         //loadingIcon path
<a4j:status id=” loadingIcon”>                        //define a4j:status
	 onstart="openModalWindow('loadingMPanel')"
  	 onstop="closeModalWindow('loadingMPanel')" />

 
5.    how to implement breadcrumbs for the static breadcrumbs, such as “home->phoneList”, they can be abstracted to a BreadCrumbVO and stored in certain collections, the BreadCrumbVO contains its parent BreadCrumbVO so that the breadcrumbs can be assembled after iterator.
어떻게'항법 빵 부스러기'를 실현합니까
정적 빵 부스러기, 예를 들어'home->phone List'에 대해 말하자면 그들은 하나하나의BreadCrumbVO로 추상화되어 어떤 용기에 저장될 수 있다. 이러한BreadCrumbVO는 그의'부빵 부스러기'인용을 포함하여 다시 조합하고 나타낼 수 있다.
 
public class BreadCrumbVO {	
	private String name;
	private BreadCrumbVO parentBreadCrumb;   

	public BreadCrumbVO(String name, BreadCrumbVO parent){
	this.name = name;
	this.parentBreadCrumb = parent;
}

	……                   //getters and setters
}
 

좋은 웹페이지 즐겨찾기