Just a note to remind me not to repeat the same mistakes again.

1. Never let View layer throw out any exceptions, ‘cuz they will display on the screen immediately. It’s really bad to show others errors, since people will just reckon that your application is not reliable and secure at all.

So keep in mind that once you develop tag library, remember to catch exception in anywhere possible. And implement to separate the View and Business layer, also to reduce logical stuff in View layer like calculation. Since this will just stop you from making exceptions that might be thrown from View layer.

2. Logger should be placed in anywhere you see, especially in try-catch statement. To use logger.isDebugable() in debug phase, this statement will just improve the performance of logger on production server and skip outputting debug information.

3. Try to reduce the usage of implementation classes of Map or List, if you can use DTO instead.

(to be extended…)