< 前へ | 次へ >

演習 5 終了後の customersearch.egl ファイル

次のコードは、演習 5 を終了した時点での customersearch.egl ファイルのバージョンです。このファイル内にエラーがある場合 (赤の X 記号でマークされます) は、作成したコードがこのコードと一致していることを確認してください。
package jsfhandlers;

import com.ibm.egl.jsf.UIViewRoot;
import eglderbydb.data.Customer;
import eglderbydb.data.Statetable;
import eglderbydb.primitivetypes.data.STATE;
import libraries.SearchLibrary;
import libraries.customizedResult;

handler customersearch type JSFHandler
	{onConstructionFunction = onConstruction, 
	 onPrerenderFunction = onPrerender, 
 	 view = "customersearch.jsp",
 	 viewRootVar = viewRoot} 

	viewRoot UIViewRoot;
	searchTerms Customer;
	searchResults Customer[0];
	resultMessage CHAR(80);
	numberOfResults INT;
	andOr CHAR(3);
	customerStates STRING[0];
	allRecords customizedResult[0];
			
	// Function Declarations
	function onConstruction()
	end
	
	function onPrerender()
		SearchLibrary.getAllCustomerStates(customerStates);
		if (searchResults.getSize() == 0)
			resultMessage = "No customers found or no search criteria entered.";
		end
	end
	
	function searchFunction()
		searchTerms.LastName = searchTerms.LastName::"%";
		
		if (andOr == "AND")
			SearchLibrary.NameAndStateSearch_And(
			searchTerms.LastName, 
			searchTerms.State, searchResults);
		else
			SearchLibrary.NameAndStateSearch_Or(
				searchTerms.LastName, 
				searchTerms.State, searchResults);
		end

		resultMessage = " customer(s) found.";
		numberOfResults = searchResults.getSize();
		if(numberOfResults == NULL)
			numberOfResults = 0;
		end
		
		generateCustomResults (searchResults);
	end
	
	function generateCustomResults(passedResults Customer[])
		allRecords.removeAll();
		oneRecord customizedResult;
		counter INT = 1;
		state Statetable;
		
		//loop once for each search result returned
		while (counter <= (passedResults.getSize()))
			oneRecord.fullName = passedResults[counter].FirstName ::
						" " :: passedResults[counter].LastName;
			oneRecord.email = passedResults[counter].EmailAddress;
			state.STATE_ABBREV = passedResults[counter].state;
			SearchLibrary.getOneState(state);
			oneRecord.stateName = state.STATE_NAME;
			allRecords.appendElement(oneRecord);
			counter = counter + 1;
		end
	end
end

演習 5: 検索結果をカスタマイズするに戻る。

< 前へ | 次へ >

フィードバック