webForumDet fria alternativet

Minimera Struts

4 svar · 375 visningar · startad av swede

swedeMedlem sedan feb. 2004227 inlägg
#1

Jag har tänkt försöka mig på struts igen, men då jag tänkte göra en ganska
enkel site så känns det onödigt "stort" att ta med alla librarys som verkar följa
med...

Finns det något sätt att minska ned struts för oss som bara behöver själva
"core" komponenterna typ actions och så?

Eller är det "allt eller inget" som gäller?

Har det lite svårt att komma igång då det är så många konfigurations filer...

CompusaMedlem sedan jan. 20022 952 inlägg
#2

Om du inte prompt måste sitta med Struts, så skulle jag rekommendera dig att implementera ditt egna ramverk, om du inte redan prövat på det ;)

Jag håller på för fullt med mitt och det fungerar bra. Personligen har jag lärt mig väldigt mycket på det här, sedan så kan man ju fråga sig om det är nödvändigt att uppfinna hjulet två gånger? Ja, i alla fall om man vill lära sig nya saker :)

LimeMedlem sedan sep. 2001837 inlägg
#3

Java Server Faces är inte helt fel det heller...

swedeMedlem sedan feb. 2004227 inlägg
#4

Har funderat på att bygga ett eget framework, då jag inte på långa vägar behöver allt som struts kan göra!

Men jag har tyvärr fastnat på hur jag, på ett snyggt sätt, skrive in vilka action klasser som ska mappas mot vilken action i mitt egna framework.

Jag får inte till en konf fil som är tillfredsställande...
Antar att jag får lära mig xml i java och rippa delar av struts-tänket...

CompusaMedlem sedan jan. 20022 952 inlägg
#5

Du måste inte nödvändigtvis använda dig av XML. Jag använder mig av en properties-file. Jag plockar ut en bit av "pathen" och mappar denna mot nycklarna i min properties-file.

Min properties-file ser ut ungefär så här:
home = com.blog.web.command.HomeCommand
login = com.blog.web.command.LoginCommand
logout = com.blog.web.command.LogoutCommand
support = com.blog.web.command.SendSupportCommand

Jag har sedan en CommandFactory som skapar en ny instans av en Command-klass.

    public static Command createCommand(String action) 
    throws LinkageError, ExceptionInInitializerError, ClassNotFoundException,
    InstantiationException, IllegalAccessException {
    	Class commandObject = null;
    	Command command = null;
    	String property = null;
    	
    	try {
    		property = PropHandler.getProperty(action);
    		commandObject = Class.forName(property);
    		command = (Command) commandObject.newInstance();
    	}
    	finally {
    	}

    	return command;
    }

Klassen PropHandler är bara kan ses som en wrapper för att ladda och läsa data från en properties-file.

Genererad på 372 ms · cache AV · v20260730165559-full.f96bc7eb