From the ActionConfig.Builder#build() javadoc:
"The builder for this object. An instance of this object is the only way to
construct a new instance. The purpose is to enforce the immutability of the
object. The methods are structured in a way to support chaining. After
setting any values you need, call the {...@link #build()} method to create the
object."
I assume there was some issue behind the scenes with robustness.
For the long term it would be good to have an official struts method to set the
HTTP params programmatically.
What I'm going to do now is code up a Result class to extend
ServletActionRedirectResult - someone give me a shout if I'm barking up the
wrong tree.
Thanks
Adam
Adam Hardy (struts) on 04/02/09 15:16, wrote:
I'm prevented from adding my redirect parameter programmatically with 2.1.6!
Look:
Map<String, ResultConfig> resultsMap =
ServletActionContext.getActionContext(getRequest())
.getActionInvocation().getProxy().getConfig().getResults();
ResultConfig config = resultsMap.get(resultName);
Map<String, String> params = config.getParams();
params.put(paramName, paramValue.toString());
causes:
java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableMap.put(Collections.java:1285)
Or am I jumping to conclusions again?
Adam
--- original message author="Musachy Barroso"
I think just need to pass a string, instead of an object in the value
param.
musachy
On Mon, Jan 26, 2009 at 10:37 AM, Adam Hardy wrote:
Hi,
got a compilation error after upgrading from 2.0.11 to 2.1.6 due to
changes
in com.opensymphony.xwork2.config.entities.ResultConfig
I am doing this:
public boolean addRedirectParameter(String resultName, String
paramName,
Object paramValue)
{
Map<String, ResultConfig> resultsMap =
ServletActionContext.getActionContext(getRequest())
.getActionInvocation().getProxy().getConfig().getResults();
ResultConfig config = resultsMap.get(resultName);
if (config == null)
{
return false;
}
else
{
config.addParam(paramName, paramValue); // 2.1.6 COMPILE ERROR
return true;
}
}
which I can call in my actions in order to put another parameter onto the
redirect URL of my result.
In 2.1.6, ResultConfig has no addParam() method anymore.
After checking the upgrade troubleshooting guide and the user lists, it
seems nobody else is suffering from this problem. Could somebody give me an
idea how to deal with this?
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org