Skip to content Skip to sidebar Skip to footer

Struts 2/ Foundation 5 - Modeldriven Class And File Upload

I am new to Java programming and I am trying to create a basic webpage with form etc for placing an order. I decided to use Struts 2 after attending a couple of sessions at work. I

Solution 1:

Your problem is that you are defining a wrong Interceptor Stack for your Action.

The default one is defaultStack, while the one you used after the FileUpload Interceptor is the basicStack.

As you can see in the official documentation, the basicStack has no ModelDriven support. Change your action configuration from :

<interceptor-refname="fileUpload"><paramname="allowedTypes">image/jpeg,image/png,image/gif</param><paramname="maximumSize">4194304</param></interceptor-ref><interceptor-refname="basicStack"></interceptor-ref>

to :

<interceptor-refname="fileUpload"><paramname="allowedTypes">image/jpeg,image/png,image/gif</param><paramname="maximumSize">4194304</param></interceptor-ref><interceptor-refname="defaultStack"></interceptor-ref>

or even better (to avoid using the FileUpload Interceptor twice) to :

<interceptor-refname="defaultStack"><paramname="fileUpload.allowedTypes">image/jpeg,image/png,image/gif</param><paramname="fileUpload.maximumSize">4194304</param></interceptor-ref>

Also consider using Struts2 tags to generate the HTML (use simple theme for the maximum control of the generated HTML, or XHTML, the default one, for the maximum assistance in HTML generation).

In many of the tags (the ones with Dynamic Attributes Allowed: true in the documentation), like <s:textfield/>, <s:textarea/>, <s:file/> and so on, you can define your own attributes, like the HTML5 pattern , for example.

The HTML will be cleaner and you will code it faster.

Post a Comment for "Struts 2/ Foundation 5 - Modeldriven Class And File Upload"