If you want to do it using prettyfaces, yes, you must because it's an url rewritting tool, so the params must go into the url. For your code to work, you should use the f:viewParam
tag before using it in your receiver page:
<f:metadata>
<f:viewParam name="study" value="#{destinationBean.study}" />
</f:metadata>
<h:outputFormat value="Print : {0} ">
<f:param value="#{destinationBean.study}" />
</h:outputFormat>
However, if you want to get rid of sending the parameter via url, you have the flash scope as an alternative. That, however, involves JSF and not Prettyfaces. If you want to go with this solution I highly encourage you to avoid early versions of Mojarra JSF 2.x, as they are buggy related to that.