To open the URL in new Tab for PageReference, kindly use <apex:commandLink/>.
Sample Code:
Visualforce page:
<apex:page controller="Sample">
<apex:form >
<apex:pageblock >
<apex:commandlink action="{!switch}" target="_blank">
<apex:commandButton value="Switch"/>
</apex:commandLink>
</apex:pageblock>
</apex:form>
</apex:page>
Apex Controller:
public class Sample {
public Sample() {
}
public pageReference switch() {
PageReference pageRef = new PageReference('http://www.google.com');
pageRef.setRedirect(true);
return pageRef;
}
}
Sample Code:
Visualforce page:
<apex:page controller="Sample">
<apex:form >
<apex:pageblock >
<apex:commandlink action="{!switch}" target="_blank">
<apex:commandButton value="Switch"/>
</apex:commandLink>
</apex:pageblock>
</apex:form>
</apex:page>
Apex Controller:
public class Sample {
public Sample() {
}
public pageReference switch() {
PageReference pageRef = new PageReference('http://www.google.com');
pageRef.setRedirect(true);
return pageRef;
}
}