thanks, good ideas *********** REPLY SEPARATOR ***********
On 03/14/2003 at 10:24 AM Kris Schneider wrote: >Right, so you'd put the code to determine the appropriate value for the "action" >attribute in your action, not in a JSP expression. That value could be stored in >a request attribute and accessed simply as: > ><html:form action='<%= request.getAttribute("formaction") %>'> > ><html-el:form> might even let you do (never used it): > ><html-el:form action="${formaction}"> > >Of course, this assumes you're doing the MVC thing of disallowing direct client >access to your JSP pages. It just seems confusing to have an attribute that may >or may not be used. I'd rather have the attribute value always static or always >dynamic. But that's personal preference, I really just wanted to correct the >statement about the request-time value. Whether that's of any use in your case >is another issue. > >Quoting Mark <[EMAIL PROTECTED]>: > >> All that means is you can have >> >> <mysimpleTag value="<%=scripletVariable%>"/> >> >> false means you cannot have a scriplet variable as a value >> >> That's not quite what i wanted to do, but in a way accomplishes a similar >> task without modifying struts. Its not sexy enough for me ;) >> >> The whole point of MVC is seperation presentation, business logic, code >> >> <html:form >> >action="<%=request.getAttribute("formaction")!=null?(String)request.getAttribute("formaction"):"/Default/url"%>" >> method="post"/> >> >> If i start putting scriptlets like that in my code, im basically breaking the >> MVC design pattern. Because now, my JSP page is dependent upon that >> scriptlet variable being in the environment, and if it used an object, say >> like this: >> >> <html:form >> >action="<%=request.getAttribute("myForm")!=null?(MyForm)request.getAttribute("formaction").getFormaction():"/Default/url"%>" >> method="post"/> >> >> >> The method I used, I believe, is a tad better because the JSP page will still >> function in the absence of that scriptlet variable, and is cleaner JSP >> code. >> >> Regards, >> Mark >> >> >> *********** REPLY SEPARATOR *********** >> >> On 03/14/2003 at 9:27 AM Kris Schneider wrote: >> >> >The code you've quoted has no impact on whether or not the <html:form> >> tag's >> >"action" attribute is an rtexpr. Look at struts-html.tld: >> > >> ><tag> >> > <name>form</name> >> > <tagclass>org.apache.struts.taglib.html.FormTag</tagclass> >> > <bodycontent>JSP</bodycontent> >> > <attribute> >> > <name>action</name> >> > <required>true</required> >> > <rtexprvalue>true</rtexprvalue> >> > </attribute> >> >... >> > >> >Quoting Mark <[EMAIL PROTECTED]>: >> > >> >> No, its not a runtime expression. >> >> >> >> If you look at the code in FormTag you'll see that its not >> >> >> >> results.append("\" action=\""); >> >> >> >> >> results.append(response.encodeURL(RequestUtils.getActionMappingURL(action, >> >> pageContext))); >> >> results.append("\""); >> >> >> >> >> >> It simply pulls the action mapping from the config. >> >> >> >> I changed my code to >> >> >> >> results.append("\" action=\""); >> >> // check if we have a bean thats exposing a formaction property, if >> so, >> >> use that property, otherwise use our assigned action value in the jsp >> page >> >> >> >> try { >> >> Object value = RequestUtils.lookup(pageContext, >> >> beanName,"formaction", null); >> >> if (value != null && !value.toString().equals("")) >> >> { >> >> this.action=ResponseUtils.filter(value.toString()); >> >> System.out.println(value.toString()); >> >> } >> >> } catch (Exception e) >> >> { >> >> e.printStackTrace(); >> >> } >> >> >> >> >> results.append(response.encodeURL(RequestUtils.getActionMappingURL(action, >> >> pageContext))); >> >> >> >> >> >> *********** REPLY SEPARATOR *********** >> >> >> >> On 03/14/2003 at 9:50 AM Jose Gonzalez Gomez wrote: >> >> >> >> >Mark, >> >> > >> >> > Please, correct me if I'm wrong, but I think the action attribute in >> >> >> >the <html:form> tag is a run time expression, so there's no need to >> >> >extend the FormTag class in order to use a dynamic form action. >> >> > >> >> > Regards >> >> > Jose >> >> > >> >> >Mark wrote: >> >> > >> >> >>I just wanted to pass on a tidbit that might help one or two people >> out >> >> there. >> >> >> >> >> >>I have a search page that displays the results with checkboxes. There >> are >> >> two or three different places that i use this same search page, so >> rather >> >> than writing or copying the search results jsp page to several copies >> (to >> >> allow me to post the form thats on the results page to a different >> forward >> >> definition) i made a modifiecation to struts. >> >> >> >> >> >>In the FormTag.java I added some code to peek in the formbean for a >> >> property called "formaction". If it finds one, it uses this new action >> >> instead of the hard coded one in the jsp page. >> >> >> >> >> >>Thus, in my action class i do this: >> >> >> >> >> >>MyBean myBean=(MyBean)actionForm; >> >> >> >> >> >>myBean.setFormaction("/Some/other/url"); >> >> >>return mapping.findforward("default"); >> >> >> >> >> >>now i have a jsp page which i can reuse its functionality in several >> places >> >> in my code. >> >> >> >> >> >>I had thought about using a hidden field, but the problem really stems >> from >> >> the statically coded form action="/Url" part. Since struts doesnt allow >> us >> >> much flexibility here by default, I decided to add my own and it works >> >> great! >> >> >> >> >> >>Regards, >> >> >>Mark >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>--------------------------------------------------------------------- >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> > >> >> >--------------------------------------------------------------------- >> >> >To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> > >> >-- >> >Kris Schneider <mailto:[EMAIL PROTECTED]> >> >D.O.Tech <http://www.dotech.com/> >> > >> >--------------------------------------------------------------------- >> >To unsubscribe, e-mail: [EMAIL PROTECTED] >> >For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > >-- >Kris Schneider <mailto:[EMAIL PROTECTED]> >D.O.Tech <http://www.dotech.com/> > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]