Открыть URL с помощью h: selectOneMenu - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть компонент selectSneMenu JSF1.2.
В настоящее время пользователь выбирает элемент из выпадающего меню, затем щелкает ссылку вывода, чтобы открыть ссылку в новом окне браузера:

<h:selectOneMenu value="#{itemSelected}"  valueChangeListener="#{someclass.generateInfoForURL}" onchange="submit()" >
  <s:selectItems var="_items" value="#{itemsList}" label="#_items.itemName}" /> 
  <s:convertEntity />
</h:selectOneMenu>  

<h:outputLink value="URL&amp;generatedInfo=#{someclass.component.generatedInfo}" target="_blank" > 
    <f:verbatim>View Report</f:verbatim>            
</h:outputLink> 

Что мне нужно, так это; когда пользователь выбирает один из выпадающих пунктов, он должен открыть URL на новой странице без промежуточного шага выбора ссылки. Я могу создать URL-адрес в компоненте поддержки, но как мне получить его, чтобы открыть новое окно браузера?

1 Ответ

2 голосов
/ 02 февраля 2012

Укажите URL-адрес в качестве значения элемента и используйте JavaScript, чтобы открыть его в новой вкладке / окне вместо отправки формы.Вам нужно только убедиться, что все URL-адреса уже правильно подготовлены заранее.

Например,

<h:selectOneMenu onchange="window.open(value)">
    <f:selectItem itemLabel="Select page.." />
    <f:selectItem itemLabel="page1" itemValue="page1.jsf" />
    <f:selectItem itemLabel="page2" itemValue="page2.jsf" />
    <f:selectItem itemLabel="page3" itemValue="page3.jsf" />
    ...
</h:selectOneMenu>

(вы, конечно, можете указать его как <f/s:selectItems>, приведенное выше простобазовый стартовый пример)

...